Clustering Techniques for Databases of CAD Models

18

Transcript of Clustering Techniques for Databases of CAD Models

Page 1: 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

Page 2: Clustering Techniques for Databases of CAD Models

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

Page 3: Clustering Techniques for Databases of CAD Models

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

Page 4: Clustering Techniques for Databases of CAD Models

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

Page 5: Clustering Techniques for Databases of CAD Models

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

Page 6: Clustering Techniques for Databases of CAD Models

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

Page 7: Clustering Techniques for Databases of CAD Models

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

Page 8: Clustering Techniques for Databases of CAD Models

(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

Page 9: Clustering Techniques for Databases of CAD Models

(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

Page 10: Clustering Techniques for Databases of CAD Models

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

Page 11: Clustering Techniques for Databases of CAD Models

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

Page 12: Clustering Techniques for Databases of CAD Models

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

Page 13: Clustering Techniques for Databases of CAD Models

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

Page 14: Clustering Techniques for Databases of CAD Models

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

Page 15: Clustering Techniques for Databases of CAD Models

(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

Page 16: Clustering Techniques for Databases of CAD Models

(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

Page 17: Clustering Techniques for Databases of CAD Models

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

Page 18: Clustering Techniques for Databases of CAD Models

[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