Dual impedance: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
en>Spinningspark
→‎Scaled and normalised duals: Expanding on the dimensional relationship between Z and Z'
en>Spinningspark
Reverted good faith edits by 129.171.233.77 (talk): Nooo... that's the equivalent, not the dual. (TW)
 
Line 1: Line 1:
[[File:Circle packing theorem K5 minus edge example.svg|thumb|Example of the circle packing theorem on K<sub>5</sub>, the complete graph on five vertices, minus one edge.]]
My name is Rosalinda Hanran. I life in North Bradley (Great Britain).<br><br>my blog post: [http://www.bigappleaudio.net/uggboots.html UGG Boots USA]
The '''circle packing theorem''' (also known as the '''Koebe–Andreev–Thurston theorem''') describes the possible tangency relations between circles in the plane whose interiors are disjoint.  A '''circle packing''' is a connected collection of circles (in general, on any Riemann surface) whose interiors are disjoint.  The '''[[intersection graph]]''' (sometimes called the '''tangency graph''' or '''contact graph''') of a circle packing is the graph having a [[vertex (graph theory)|vertex]] for each circle, and an [[edge (graph theory)|edge]] for every pair of circles that are [[tangent circles|tangent]].  If the circle packing is on the plane, or, equivalently, on the sphere, then its intersection graph is called a '''coin graph'''.  Coin graphs are always connected, [[simple graph|simple]], and [[planar graph|planar]].  The circle packing theorem states that the converse also holds:
 
'''Circle packing theorem''': For
every connected simple planar graph ''G'' there is a circle packing in the plane
whose intersection graph is ([[graph isomorphism|isomorphic]] to) ''G''.
 
==A uniqueness statement==
A graph ''G'' is ''triangulated planar'' if it is
planar and every connected component of the complement of the embedding of ''G'' in the sphere has precisely three edges on its boundary, or in other words, if ''G'' is the 1-skeleton of a [[simplicial complex]] which is [[homeomorphic]] to the sphere.  Any triangulated planar graph ''G'' is connected and simple, so the circle packing theorem guarantees the existence of a circle packing whose intersection graph is (isomorphic to) ''G''.  Such a ''G'' must also be finite, so its packing will have a finite number of circles.  As the following theorem states more formally, every maximal planar graph can have at most one packing.
 
'''Koebe–Andreev–Thurston theorem''': If ''G'' is a finite triangulated planar graph, then the circle packing whose tangency graph is (isomorphic to) ''G'' is unique, [[up to]] [[Möbius transformation]]s and reflections in lines.
 
Thurston<ref name="thu"/> observes that this uniqueness is a consequence of the [[Mostow rigidity theorem]]. The plane in which the circles are packed may be viewed as the boundary of a [[Poincaré half-plane model|halfspace model]] for [[hyperbolic space]]; with this view, each circle is the boundary of a plane within the hyperbolic space. One can define a set of disjoint planes from the circles of the packing, and a second set of disjoint planes defined by the circles surrounding each triangular gap between three of the circles in the packing. These two sets of planes meet at right angles, and form the [[Generating set of a group|generator]]s of a [[reflection group]] whose [[fundamental domain]] can be viewed as a [[hyperbolic manifold]]. By Mostow rigidity, the hyperbolic structure of this domain is uniquely determined, up to [[isometry]] of the hyperbolic space; these isometries, when viewed in terms of their actions on the Euclidean plane on the boundary of the half-plane model, translate to Möbius transformations.
 
There is also a more elementary proof based on the [[maximum principle]] and on the observation that, in the triangle connecting the centers of three mutually tangent circles, the
angle formed at the center of one of the circles is monotone decreasing in its radius and monotone increasing in the two other radii. Given two packings for the same graph ''G'', one may apply reflections and Möbius transformations to make the outer circles in these two packings correspond to each other and have the same radii. Then, let ''v'' be an interior vertex of ''G'' for which the circles in the two packings have sizes that are as far apart as possible: that is, choose ''v'' to maximize the ratio ''r''<sub>1</sub>/''r''<sub>2</sub> of the radii of its circles in the two packings. For each triangular face of ''G'' containing ''v'', it follows that the angle at the center of the circle for ''v'' in the first packing is less than or equal to the angle in the second packing, with equality possible only when the other two circles forming the triangle have the same ratio ''r''<sub>1</sub>/''r''<sub>2</sub> of radii in the two packings. But the sum of the angles of all of these triangles surrounding the center of the triangle must be 2π in both packings, so all neighboring vertices to ''v'' must have the same ratio as ''v'' itself. By applying the same argument to these other circles in turn, it follows that all circles in both packings have the same ratio. But the outer circles have been transformed to have ratio 1, so ''r''<sub>1</sub>/''r''<sub>2</sub>&nbsp;=&nbsp;1 and the two packings have identical radii for all circles.
 
==Generalizations of the circle packing theorem==
The circle packing theorem generalizes to graphs that are not planar.
If ''G'' is a graph that can be embedded on a surface ''S'',
then there is a constant [[curvature]] [[Riemannian manifold|Riemannian metric]] ''d'' on ''S'' and a circle packing on (''S'',&nbsp;''d'') whose contacts graph is isomorphic to ''G''.  If ''S'' is closed ([[Compact space|compact]] and without [[Manifold with boundary|boundary]])
and ''G'' is a triangulation of ''S'', then (''S'',&nbsp;''d'') and the packing are unique up to conformal equivalence.  If ''S'' is the sphere, then this equivalence is up to Möbius transformations; if it is a torus, then the equivalence is up to scaling by a constant and isometries, while if ''S'' has [[genus (mathematics)|genus]] at least 2, then the equivalence is up to isometries.
 
Another generalization of the circle packing theorem involves replacing the condition of tangency with a specified intersection angle between circles corresponding to neighboring vertices. A particularly elegant version is as follows. Suppose that ''G'' is a finite [[connectivity (graph theory)|3-connected]] planar graph (that is, a [[polyhedral graph]]), then there is a pair of circle packings, one whose intersection graph is isomorphic to ''G'', another whose intersection graph is isomorphic to the [[dual graph|planar dual]] of ''G'',
and for every vertex in ''G'' and face adjacent to it, the circle in the first packing corresponding to the vertex
intersects orthogonally with the circle in the second packing corresponding to the face.<ref>{{harvtxt|Brightwell|Scheinerman|1993}}</ref> For instance, applying this result to the graph of the tetrahedron gives, for any four mutuall tangent circles, a second set of four mutually tangent circles each of which is orthogonal to three of the first four.<ref>{{citation
| last = Coxeter | first = H. S. M.
| contribution = An absolute property of four mutually tangent circles
| doi = 10.1007/0-387-29555-0_5
| location = New York
| mr = 2191243
| pages = 109–114
| publisher = Springer
| series = Math. Appl. (N. Y.)
| title = Non-Euclidean geometries
| volume = 581
| year = 2006}}.</ref>
 
Yet another variety of generalizations allow shapes that are not circles.
Suppose that ''G''&nbsp;=&nbsp;(''V'',&nbsp;''E'') is a finite planar graph, and to each vertex ''v'' of ''G''
corresponds a shape <math>K_v\subset\mathbb R^2</math>, which is [[homeomorphism|homeomorphic]]
to the closed unit disk and whose boundary is smooth.
Then there is a packing <math> P = (K'_v:v\in V)</math> in the plane
such that <math>K'_v\cap K'_u\ne \varnothing</math> if and only if <math>[v,u]\in E</math>
and for each <math>v\in V</math> the set <math>K'_v</math> is obtained from <math>K_v</math> by translating
and scaling. (Note that in the original circle packing theorem, there are three real parameters per vertex,
two of which describe the center of the corresponding circle and one of which describe the radius, and there is one equation per edge. This also holds in this generalization.)
One proof of this generalization can be obtained by applying Koebe's original proof<ref name=koebe/> and the theorem
of Brandt<ref>{{harvtxt|Brandt|1980}}</ref> and Harrington<ref>{{harvtxt|Harrington|1982}}</ref> stating that any finitely connected domain is conformally equivalent to
a planar domain whose boundary components have specified shapes, up to translations and scaling.
 
==Relations with conformal mapping theory==
[[Image:circleRiemannMap1.svg|right|frame|Circle packings can be used to approximate conformal mappings between
specified domains. Each circle on the left corresponds to a circle on the right.]]
A [[conformal map]] between two [[open set]]s in the plane or in a higher dimensional space is a [[continuous function]] from one set to the other that preserves the [[angle]]s between any two curves. The [[Riemann mapping theorem]], formulated by [[Bernhard Riemann]] in 1851, states that, for any two open [[Disk (mathematics)|topological disks]] in the plane, there is a conformal map from one disk to the other. Conformal mappings have applications in [[mesh generation]], [[map projection]], and other areas. However, it is not always easy to construct a conformal mapping between two given domains in an explicit way.<ref name="s99">{{harvtxt|Stephenson|1999}}.</ref>
 
At the Bieberbach conference in 1985, [[William Thurston]] conjectured that circle packings could be used to approximate conformal mappings. More precisely, Thurston used circle packings to find a conformal mapping from an arbitrary open disk ''A'' to the interior of a circle; the mapping from one topological disk ''A'' to another disk ''B'' could then be found by composing the map from ''A'' to a circle with the inverse of the map from ''B'' to a circle.<ref name="s99"/>
 
Thurston's idea was to pack circles of some small radius ''r'' in a hexagonal [[tessellation]] of the plane, within region ''A'', leaving a narrow region near the boundary of ''A'', of width ''r'', where no more circles of this radius can fit. He then constructs a maximal planar graph ''G'' from the [[intersection graph]] of the circles, together with one additional vertex adjacent to all the circles on the boundary of the packing. By the circle packing theorem, this planar graph can be represented by a circle packing ''C'' in which all the edges (including the ones incident to the boundary vertex) are represented by tangencies of circles. The circles from the packing of ''A'' correspond one-for-one with the circles from ''C'', except for the boundary circle of ''C'' which corresponds to the boundary of ''A''. This correspondence of circles can be used to construct a continuous function from ''A'' to ''C'' in which each circle and each gap between three circles is mapped from one packing to the other by a [[Möbius transformation]]. Thurston conjectured that, in the limit as the radius ''r'' approaches zero, the functions from ''A'' to ''C'' constructed in this way would approach the conformal function given by the Riemann mapping theorem.<ref name="s99"/>
 
Thurston's conjecture was proven by {{harvtxt|Rodin|Sullivan|1987}}. More precisely, they showed that, as ''n'' goes to infinity, the function ''f<sub>n</sub>'' determined using Thurston's method from hexagonal packings of radius-1/''n'' circles converges uniformly on compact subsets of ''A'' to a conformal map from ''A'' to ''C''.<ref name="s99"/>
 
Despite the success of Thurston's conjecture, practical applications of this method have been hindered by the difficulty of computing circle packings and by its relatively slow convergence rate. However it has some advantages when applied to non-[[Simply connected space|simply-connected]] domains and in selecting initial approximations for numerical techniques that compute [[Schwarz–Christoffel mapping]]s, a different technique for conformal mapping of [[polygon]]al domains.<ref name="s99"/>
 
==Applications of the circle packing theorem==
The circle packing theorem is a useful tool to study various problems in planar
geometry, conformal mappings and planar graphs. An elegant proof of the [[planar separator theorem]],
originally due to Lipton and Tarjan,<ref>{{harvtxt|Lipton|Tarjan|1979}}</ref> has been obtained in this way.<ref>{{harvtxt|Miller|Teng|Thurston|Vavasis|1997}}</ref>
Another application of the circle packing theorem is that unbiased limits of
bounded-degree planar graphs are almost surely recurrent.<ref>{{harvtxt|Benjamini|Schramm|2001}}</ref>
Other applications include implications for the [[cover time]].<ref>{{harvtxt|Jonnason|Schramm|2000}}</ref>
and estimates for the largest [[eigenvalue]] of bounded-[[genus]] graphs.<ref>{{harvtxt|Kelner|2006}}</ref>
 
In [[graph drawing]], circle packing has been used to find drawings of planar graphs with bounded [[angular resolution]]<ref>{{harvtxt|Malitz|Papakostas|1994}}.</ref> and with bounded [[slope number]].<ref>{{harvtxt|Keszegh|Pach|Pálvölgyi|2011}}.</ref>
 
==Proofs of the theorem==
There are many known proofs of the circle packing theorem. [[Paul Koebe]]'s original proof is
based on his conformal uniformization theorem saying that a finitely connected planar domain
is conformally equivalent to a circle domain. There are several different topological proofs
that are known. Thurston's proof is based on [[Brouwer fixed point theorem|Brouwer's fixed point theorem]].
There is also a proof using a discrete variant of [[Perron's method]] of constructing solutions to the
[[Dirichlet problem]]. [[Yves Colin de Verdière]] proved<ref>{{harvtxt|Colin de Verdière|1991}}</ref>
the existence of the circle packing as a minimizer of a [[convex function]] on a certain configuration
space.
 
==Implications==
[[Fáry's theorem]], that every graph that can be [[graph drawing|drawn]] without crossings in the plane using curved edges can also be drawn without crossings using straight [[line segment]] edges, follows as a simple corollary of the circle packing theorem: by placing vertices at the centers of the circles and drawing straight edges between them, a straight-line planar embedding is obtained.
 
[[File:Midsphere.png|thumb|A polyhedron and its midsphere. The circle packing theorem implies that every [[polyhedral graph]] can be represented as the graph of a polyhedron that has a midsphere.]]
A stronger form of the circle packing theorem asserts that any [[polyhedral graph]] and its [[dual graph]] can be represented by two circle packings, such that the two tangent circles representing a primal graph edge and the two tangent circles representing the dual of the same edge always have their tangencies at right angles to each other at the same point of the plane. A packing of this type can be used to construct a [[convex polyhedron]] that represents the given graph and that has a [[midsphere]], a sphere tangent to all of the edges of the polyhedron. Conversely, if a polyhedron has a midsphere, then the circles formed by the intersections of the sphere with the polyhedron faces and the circles formed by the horizons on the sphere as viewed from each polyhedron vertex form a dual packing of this type.
 
==Algorithmic aspects==
{{harvtxt|Collins|Stephenson|2003}} describe a numerical [[Relaxation (iterative method)|relaxation algorithm]] for finding circle packings, based on ideas of [[William Thurston]]. The version of the circle packing problem that they solve takes as input a planar graph, in which all the internal faces are triangles and for which the external vertices have been labeled by positive numbers. It produces as output a circle packing whose tangencies represent the given graph, and for which the circles representing the external vertices have the radii specified in the input. As they suggest, the key to the problem is to first calculate the radii of the circles in the packing; once the radii are known, the geometric positions of the circles are not difficult to calculate. They begin with a set of tentative radii that do not correspond to a valid packing, and then repeatedly perform the following steps:
#Choose an internal vertex ''v'' of the input graph.
#Calculate the total angle &theta; that its ''k'' neighboring circles would cover around the circle for ''v'', if the neighbors were placed tangent to each other and to the central circle using their tentative radii.
#Determine a representative radius ''r'' for the neighboring circles, such that ''k'' circles of radius ''r'' would give the same covering angle &theta; as the neighbors of ''v'' give.
#Set the new radius for ''v'' to be the value for which ''k'' circles of radius ''r'' would give a covering angle of exactly 2π.
Each of these steps may be performed with simple trigonometric calculations, and as Collins and Stephenson argue, the system of radii converges rapidly to a unique [[Fixed point (mathematics)|fixed point]] for which all covering angles are exactly 2π. Once the system has converged, the circles may be placed one at a time, at each step using the positions and radii of two neighboring circles to determine the center of each successive circle.
 
{{harvtxt|Mohar|1993}} describes a similar iterative technique for finding simultaneous packings of a [[polyhedral graph]] and its dual, in which the dual circles are at right angles to the primal circles. He proves that the method takes time polynomial in the number of circles and in log&nbsp;1/&epsilon;, where &epsilon; is a bound on the distance of the centers and radii of the computed packing from those in an optimal packing.
 
==History==
 
The circle packing theorem was first proved by [[Paul Koebe]].<ref name=koebe>{{harvtxt|Koebe|1936}}</ref>
[[William Thurston]]<ref name="thu">{{harvtxt|Thurston|1978–1981}}, Chap. 13.</ref>
rediscovered the circle packing theorem, and
noted that it followed from the work of [[E. M. Andreev]].  Thurston also proposed a scheme for using the circle packing theorem to obtain a homeomorphism of a simply connected proper subset of the plane onto the interior of the unit disk.  The ''Thurston Conjecture for Circle Packings'' is his conjecture that the homeomorphism will converge to the [[Riemann mapping theorem|Riemann mapping]] as the radii of the circles tend to zero.  The Thurston Conjecture was later proved
by [[Burton Rodin]] and [[Dennis Sullivan]].<ref>{{harvtxt|Rodin|Sullivan|1987}}</ref>
This led to a flurry of research on extensions of the circle packing theorem, relations to
conformal mappings, and applications.
 
==See also==
*[[Packing problem]]
*[[Sphere packing]]
*[[Apollonian network]], a type of planar graph defined from a circle packing
 
== Notes ==
{{reflist|2}}
 
== References ==
*{{citation
| last = Andreev | first = E. M.
| issue = 123
| journal = Mat. Sb. (N.S.)
| mr = 0259734
| pages = 445–478
| title = Convex polyhedra in Lobačevskiĭ spaces
| volume = 81
| year = 1970}}.
*{{citation
| last = Andreev | first = E. M.
| issue = 125
| journal = Mat. Sb. (N.S.)
| mr = 0273510
| pages = 256–260
| title = Convex polyhedra of finite volume in Lobačevskiĭ space
| volume = 83
| year = 1970}}.
*{{citation
| last1 = Benjamini | first1 = Itai
| last2 = Schramm | first2 = Oded | author2-link = Oded Schramm
| journal = Electronic Journal of Probability
| title = Recurrence of distributional limits of finite planar graphs
| url = http://www.math.washington.edu/~ejpecp/viewarticle.php?id=1298&layout=abstract
| volume = 6
| year = 2001}}.
*{{citation
| last = Brandt | first = M.
| journal = Bull. de la Soc. des Sc. et des Lettr. de Łódź
| title = Ein Abbildungssatz fur endlich-vielfach zusammenhangende Gebiete
| volume = 30
| year = 1980}}.
*{{citation
| last1 = Brightwell | first1 = Graham R.
| last2 = Scheinerman | first2 = Edward R. | author2-link = Ed Scheinerman
| doi = 10.1137/0406017
| issue = 2
| journal = SIAM J. Discrete Math.
| pages = 214–229
| title = Representations of planar graphs
| volume = 6
| year = 1993}}.
*{{citation
| last = Colin de Verdière | first = Yves | author-link = Yves Colin de Verdière
| doi = 10.1007/BF01245096
| issue = 1
| journal = Inventiones Mathematicae
| pages = 655–669
| title = Une principe variationnel pour les empilements de cercles
| volume = 104
| year = 1991}}.
*{{citation
| last1 = Collins | first1 = Charles R.
| last2 = Stephenson | first2 = Kenneth
| doi = 10.1016/S0925-7721(02)00099-8
| issue = 3
| journal = Computational Geometry. Theory and Applications
| mr = 1975216
| pages = 233–256
| title = A circle packing algorithm
| volume = 25
| year = 2003}}.
*{{citation
| last = Harrington | first = Andrew N.
| doi = 10.1007/BF02803393
| issue = 1
| journal = [[Journal d'Analyse Mathématique]]
| pages = 39–53
| title = Conformal mappings onto domains with arbitrarily specified boundary shapes
| volume = 41
| year = 1982}}
*{{citation
| last1 = Jonnason | first1 = Johan
| last2 = Schramm | first2 = Oded | author2-link = Oded Schramm
| journal = Electronic Communications in Probability
| pages = 85–90
| title = On the cover time of planar graphs
| url = http://www.math.washington.edu/~ejpecp/ECP/viewarticle.php?id=1605&layout=abstract
| volume = 5
| year = 2000}}.
*{{citation
| last = Kelner | first = Jonathan A.
| doi = 10.1137/S0097539705447244
| issue = 4
| journal = SIAM Journal on Computing
| pages = 882–902
| title = Spectral partitioning, eigenvalue bounds, and circle packings for graphs of bounded genus
| volume = 35
| year = 2006}}.
**{{citation
| last1 = Keszegh | first1 = Balázs
| last2 = Pach | first2 = János | author2-link = János Pach
| last3 = Pálvölgyi | first3 = Dömötör
| editor1-last = Brandes | editor1-first = Ulrik
| editor2-last = Cornelsen | editor2-first = Sabine
| contribution = Drawing planar graphs of bounded degree with few slopes
| doi = 10.1007/978-3-642-18469-7_27
| location = Heidelberg
| mr = 2781274
| pages = 293–304
| publisher = Springer
| series = Lecture Notes in Computer Science
| title = Graph Drawing: 18th International Symposium, GD 2010, Konstanz, Germany, September 21-24, 2010, Revised Selected Papers
| volume = 6502
| year = 2011}}.
*{{citation
| last = Koebe | first = Paul | author-link = Paul Koebe
| journal = Ber. Sächs. Akad. Wiss. Leipzig, Math.-Phys. Kl.
| pages = 141–164
| title = Kontaktprobleme der Konformen Abbildung
| volume = 88
| year = 1936}}.
*{{citation
| last1 = Lipton | first1 = Richard J. | author1-link = Richard J. Lipton
| last2 = Tarjan | first2 = Robert E. | author2-link = Robert Tarjan
| journal = SIAM Journal on Applied Mathematics
| pages = 177–189
| title = A separator theorem for planar graphs
| volume = 36
| year = 1979
| doi = 10.1137/0136016}}.
*{{citation
| last1 = Malitz | first1 = Seth
| last2 = Papakostas | first2 = Achilleas
| doi = 10.1137/S0895480193242931
| issue = 2
| journal = [[SIAM Journal on Discrete Mathematics]]
| mr = 1271989
| pages = 172–183
| title = On the angular resolution of planar graphs
| volume = 7
| year = 1994}}.
*{{citation
| last1 = Miller | first1 = Gary L. | author1-link = Gary Miller (professor)
| last2 = Teng | first2 = Shang-Hua | author2-link = Shang-Hua Teng
| last3 = Thurston | first3 = William | author3-link = William Thurston
| last4 = Vavasis | first4 = Stephen A.
| doi = 10.1145/256292.256294
| issue = 1
| journal = J. ACM
| pages = 1–29
| title = Separators for sphere-packings and nearest neighbor graphs
| volume = 44
| year = 1997}}.
*{{citation
| last = Mohar | first = Bojan | authorlink = Bojan Mohar
| doi = 10.1016/0012-365X(93)90340-Y
| issue = 1–3
| journal = Discrete Mathematics
| pages = 257–263
| title = A polynomial time circle packing algorithm
| volume = 117
| year = 1993}}.
*{{citation
| last1 = Rodin | first1 = Burton | author1-link = Burton Rodin
| last2 = Sullivan | first2 = Dennis | author2-link = Dennis Sullivan
| issue = 2
| journal = Journal of Differential Geometry
| pages = 349–360
| title = The convergence of circle packings to the Riemann mapping
| url = http://projecteuclid.org/euclid.jdg/1214441375
| volume = 26
| year = 1987}}.
*{{citation
| last = Stephenson | first = Kenneth
| contribution = The approximation of conformal structures via circle packing
| mr = 1700374
| pages = 551–582
| publisher = World Sci. Publ., River Edge, NJ
| series = Ser. Approx. Decompos.
| title = Computational methods and function theory 1997 (Nicosia)
| url = http://www.math.uga.edu/~saarh/ACS_revised.pdf
| volume = 11
| year = 1999}}.
*{{citation
| last = Stephenson | first = Ken
| location = Cambridge
| publisher = Cambridge University Press
| title = Introduction to circle packing, the theory of discrete analytic functions
| year = 2005}}.
*{{citation
| last = Thurston | first = William | author-link = William Thurston
| series = Invited talk at the International Symposium at Purdue University on the occasion of the proof of the Bieberbach conjecture
| title = The finite Riemann mapping theorem
| year = 1985}}.
*{{citation
| last = Thurston | first = William | author-link = William Thurston
| publisher = Princeton lecture notes
| title = The geometry and topology of 3-manifolds
| url = http://www.msri.org/publications/books/gt3m/
| year = 1978–1981}}.
 
==External links==
*[http://www.math.utk.edu/~kens/CirclePack/ CirclePack] (free software for constructing circle packings from graphs) and [http://www.math.utk.edu/~kens/#bibliography Circle packing bibliography] by Kenneth Stephenson, Univ. of Tennessee
 
{{Packing problem}}
 
{{DEFAULTSORT:Circle Packing Theorem}}
[[Category:Theorems in geometry]]
[[Category:Circles]]
[[Category:Planar graphs]]
[[Category:Theorems in graph theory]]

Latest revision as of 18:07, 24 September 2014

My name is Rosalinda Hanran. I life in North Bradley (Great Britain).

my blog post: UGG Boots USA