COMBINATORICS OF LINKED SYSTEMS OF QUARTETS arXiv:1405.2464v1 [q-bio.QM] 10 May 2014 EMILI PRICE AND JOSEPH RUSINKO Abstract. We apply classical quartet techniques to the problem of phylogenetic decisiveness and find a value k such that all compatible quartet systems with at least k quartets are decisive. Moreover, we prove that this bound is optimal and give a lower-bound on the probability that a compatible collection of quartets is decisive. Contents 1. Overview 2. Quartet Systems 3. Testing Decisiveness 4. Meshed Quartet Systems 5. Probability 6. Conclusion 7. Acknowledgments References 1 2 3 5 7 8 9 9 1. Overview Evolutionary biologists represent relationships between groups of organisms with phylogenetic trees [5, 8]. Supertree methods were designed to handle the computationally difficult problem of reconstructing such trees for large data sets. These methods generate a group of accurate, smaller input trees and combine them into a single supertree [9, 15, 17]. Four taxa trees, known as quartets, are commonly used as inputs in supertree methods [11, 12, 16]. Most quartet amalgamation algorithms use all quartets generated from sequencing data [11, 16] or only remove quartets that appear to be incorrect [1, 2, 7]. If X is the set of taxonomic units in a phylogenetic tree, there are |X| quartets within that tree. As quartets 4 may contain overlapping information, it is possible that a smaller number of quartets may provide sufficient information for accurate reconstruction. Accurate reconstruction is theoretically possible using a carefully selected group of quartets on the order of |X|3 [13], but such sampling techniques may introduce bias. Recently, Steel and Sanderson asked for which sets of input trees is there a unique supertree which reflects all of the same relationships among the taxa [14]. They called such collections decisive and developed criteria for a system of trees to be decisive which Fischer expanded upon [14, 4]. We examine decisiveness in the context of quartets. In particular, we prove that the minimal number, k(|X|), such that every compatible set of quartets, Q, with |Q| ≥ k is Date: May 13, 2014. 1 phylogenetically decisive, is |X| − (|X| − 4). Moreover, we prove a lower bound for the 4 probability that any collection of a fixed number of compatible quartets is decisive. 2. Quartet Systems We adopt the terminology in [6], except in noted instances when we follow [10] or [14]. Phylogenetic trees display relationships among a finite set of taxonomic units. Definition. A phylogenetic tree, T = (V, E, ϕ) on a finite set of taxa X, is a triple consisting of a finite set of vertices, V , a set E of edges between vertices, and a ”labeling” map ϕ : X → L, where L ⊂ V are vertices of degree one or leaves, such that: • The graph (V, E) is an unrooted bifurcating tree. • The map ϕ induces a bijection between X and the set L of leaves of T . An edge that contains a leaf is an exterior edge. The non-leaf vertex of an exterior edge is the internal vertex of e, denoted vint (e). Two exterior edges sharing an internal vertex form a cherry. Any edge that is not an exterior edge is an interior edge. While edge length plays an important role in phylogenetics, we do not take it into account, and adopt instead a topologically motivated definition of tree isomorphism. Definition. Phylogenetic trees, T1 = (V1 , E1 , ϕ1 ) and T2 = (V2 , E2 , ϕ2 ) on a taxon set X, are isomorphic if there exists a bijective map f : V1 → V2 , called an isomorphism, such that if {u, v} ∈ E1 then {f (u), f (v)} ∈ E2 and for every x ∈ X, ϕ2 (x) = f (ϕ1 (x)) . It is impossible to distinguish ancestral relationships from unrooted trees with fewer than four taxa; thus, supertree reconstruction algorithms frequently use four taxa trees or quartets as inputs [11, 12, 16]. When the context is clear, we interchange the use of a quartet tree, with the following set theoretic definition. Definition. Given distinct elements a, b, c, d ∈ X, the quartet q = ab|cd denotes the unordered pair {{a, b}, {c, d}}, of two taxa subsets of X. The union of all four taxa is the support of q, denoted supp(q). Denote the set of all quartets on a taxon set X by Q(X). Any[subset Q of Q(X) is called a quartet system on X with the support defined by supp(Q) = supp(q). q∈Q Quartet trees contain an interior edge which separates the taxa into two pairs. Similarly, removing the interior edge of a tree separates the graph into two connected components. Definition. An edge e separates taxa a and b from c and d if {a, b} and {c, d} are subsets of the vertex sets of different connected components of T − {e}. This separation points to a relationship between edges of a tree and quartets. Definition. A quartet ab|cd is displayed by a phylogenetic tree T if there exists an edge e ∈ E that separates a and b from c and d. Denote the collection of all quartets displayed by a tree T by QT . A quartet system Q is compatible if there exists a tree T such that Q ⊆ QT . Quartet reconstruction algorithms must handle non-compatible quartets. However, even compatible systems may be difficult to resolve as multiple trees may display a particular collection of quartets. 2 Definition. [14] A quartet system, Q, is phylogenetically decisive, if there is up to isomorphism, a unique phylogenetic tree for which Q ⊆ QT . 3. Testing Decisiveness 3.1. Bocker’s Test. In [3], Bocker described criteria for a quartet system of the size |X| − 3 to be decisive. We review Bocker’s criteria in the following section and extend this work by the minimum number such that every compatible system of quartets of that size is decisive. Theorem 1 (Theorem 6.9.7 of [10]). A quartet system Q of size |X| − 3 that distinguishes all interior edges of a tree and whose excess set contains a maximal hierarchy on Q is phylogenetically decisive. Definition. Let T = (V, E, ϕ) be a phylogenetic tree and let ab|cd ∈ QT . An interior edge e of T is distinguished by ab|cd if e is the only edge that separates a and b from c and d. Decisive sets of quartets must distinguish each edge of a phylogenetic tree and overlap in a precise manner, which Bocker describes using the language of excess-free sets. Definition. The excess of a non-empty quartet system Q, denoted exc(Q) is the value |supp(Q)| − 3 − |Q|. The empty set is defined to have excess zero. Q is excess-free if exc(Q) = 0. Denote the set of excess-free subsets of Q by Exc(Q) or the excess set of Q. The second criteria that Bocker established for a quartet system to be phylogenetically decisive was that the excess set of the quartet system contains a maximal hierarchy on Q. Definition. A collection H of non-empty subsets of a finite set F is a hierarchy on F , if for all A, B ∈ H, A ∩ B ∈ {∅, A, B}. Definition. A hierarchy H on F is maximal if there is no nonempty subset H of F such that H ∪ H is a hierarchy. The combinatorics of quartets which meet Bocker’s criteria are examined in the remainder of this section. In a phylogenetic tree, each interior edge e = (vl , vr ) is adjacent to four edges (ei , ej , ek , eh ) which divide the tree into four components and partition the set of taxa X into four distinct sets Ai , Aj , Ak , and Ah , with x ∈ An if the unique path from x to vl contains the edge en . Lemma 1. A quartet q distinguishes an interior edge e of T if and only if q = ab|cd, where a ∈ Ai , b ∈ Aj , c ∈ Ak , and d ∈ Ah . Moreover, there are |Ai ||Aj ||Ak ||Ah | such quartets. Proof. This follows directly from the definition of distinguishing quartets. Corollary 1. Each interior edge of a phylogenetic tree is distinguished by at least |X| − 3 quartets. Proof. This follows directly by minimizing the product |Ai ||Aj ||Ak ||Ah | subject to the constraints |Ai | + |Aj | + |Ak | + |Ah | = |X| and each set being non-empty. 3 3.2. Linked Systems. We develop a new criterion for a quartet system to be phylogenetically decisive, linked systems, which are defined in terms of an associated graph. Definition. For a compatible system of quartets Q on a taxon set X, define the associated graph GT (Q) with vertex set V and edge set E as follows: • Each vertex represents a quartet q ∈ QT which distinguishes a unique edge in T . • Vertex pairs {qi , qj } are connected by an edge e ∈ E if the associated edges in T that the quartets distinguish are adjacent and |supp({qj , qk })| = 5. Definition. Two quartets are linked if their vertices are connected in GT (Q). The quartet system Q, is a linked system if GT (Q) is connected. A linked quartet sytem Q is maximally linked if |supp(Q)| = |X| − 3. We show that maximally linked systems meet Bocker’s decisiveness criteria. Lemma 2. If Q is a linked system of quartets, then |supp(Q)| = |Q| + 3. Proof. Let Q be a linked system of quartets on a tree T . An edge of tree T is adjacent to a linked system Q, if e is not distinguished by any q ∈ Q, but e is adjacent to an edge distinguished by a q ∈ Q. Denote the set of adjacent edges to Q by Adj(Q). Then Adj(Q) partitions X into disjoint sets indexed by its elements. Here x is in the set indexed by an edge e ∈ Adj(Q), if the unique path in T from the leaf containing x to a edge distinguished by q ∈ Q, contains e. This partition is well defined since GT (Q) is connected. We prove |Adj(Q)| = |Q| + 3 by induction on |Q|. Let L(k) be the statement that |Adj(Q)| = |Q| + 3 for all Q of cardinality k. If |Q| = 1 then there is a single interior edge, with four adjacent edges, so L(1) is true. Assume L(k) is true, and that Q0 is a linked quartet system on T with |Q0 | = k + 1. Since GT (Q0 ) is connected, we can view Q0 as Q ∪ q where the edge of T distinguished by q is in Adj(Q) with |Q| = k. Since the edge distinguished by q is in Adj(Q) and as an interior edge must be adjacent to two additional edges, we have |Adj(Q0 )| = |Adj(Q)| − 1 + 2. By the inductive hypothesis this yields |Adj(Q0 )| = k + 3 + 1 = |Q0 | + 3. So L(k + 1) is true. Therefore by the principle of mathematical induction L(k) is true for all k. Each edge in Adj(Q) is adjacent to an edge distinguished by a quartet q ∈ Q. By Lemma 1 each element of supp(q) must be in one of the four sets in which e partitions X. Thus, |supp(Q)| ≥ |Adj(Q)| = |Q| + 3. However in a linked system each additional quartet introduces at most one new taxon, as it shares three taxa with a quartet already in the system. Given that |supp(q)| = 4, this implies |supp(Q)| ≤ 4 + (|Q| − 1) = |Q| + 3. So we conclude that |supp(Q)| = |Q| + 3. Theorem 2. Every maximally linked system of quartets is phylogenetically decisive. Proof. Let Q be a maximally linked system of quartets on a tree T on a taxon set X. It follows from the definition of maximally linked that each edge of T is distinguished by an element of Q. To show that Q also meets Bocker’s second criteria, we construct a maximal hierarchy on Q using the elements of Exc(Q). Identify each quartet with the edge it distinguishes and use the edges to construct an ordering of the elements of Q. Choose a cherry, and let q1 be the quartet which distinguishes the interior edge adjacent to the cherry. Since Q is linked, the corresponding graph GT (Q) 4 is connected, which implies we can label the remaining q such that qi is linked to some qj i [ with j < i. This ordering ensures that Mi = qj is a linked system for all 1 ≤ i ≤ |Q|. j=1 We define H = {q1 , ..., q|X|−3 , M2 , M3 , ..., M|X|−3 }. If follows from Lemma 2 that H ⊂ Exc(Q). Since the intersection of any pair of elements of H is either the empty set or one of the elements, H is a hierarchy. Additionally, for any element, C ⊂ Q which is not an element of H, let i be the smallest number such that C 6⊆ Mi but C ⊆ Mi+1 . Such a number exists because C ⊆ M|X−3| = Q. Then qi+1 ∈ C but qi+1 6∈ Mi therefore C ∩ Mi 6= C. Since i is the smallest such value, there can be at most one element of C which is not in Mi . Therefore |C ∩ Mi | = |C| − 1. Now since C 6∈ H we know |C| > 1 therefore C ∩ Mi 6= ∅. Since C 6⊂ Mi then C ∩ Mi 6= Mi . Therefore H ∪ C is not a hierarchy so H is a maximal hierarchy on Q. Though maximally linked systems of quartets are phylogenetically decisive, there are decisive sets which are not maximally linked. Example. The quartet system 12|36, 23|45 and 24|56 is phylogenetically decisive, but is not a linked system of quartets. 3.3. Large Non-Decisive Quartet Systems. Since both Bocker’s systems and maximally linked quartet systems contain |X| − 3 quartets, one might surmise that all quartet systems of a modest size would be decisive. However, there are large quartet systems which are not phylogenetically decisive. A quartet system on a caterpillar tree provides one such example. Definition. A caterpillar on n leaves is a phylogenetic tree for which the induced subtree on the interior vertices forms a path graph, a sequence of distinct vertices v1 , v2 , ..., vk such that, for all i ∈ {1, 2, ..., k − 1}, vi and vi+1 are adjacent. Caterpillar trees allow for a linear ordering of the edges by letting ei be the interior vertex connecting vi with vi+1 in the path graph. This ordering allows us to construct large families of quartets shared by several caterpillar trees. Theorem 3. The minimal number k(|X|) such that every compatible quartet system Q on |X| a taxon set X with |Q| ≥ k is decisive is greater than 4 − (|X| − 3). Proof. For a phylogenetic tree, T , on a taxon set X containing {a, b, c, d}, denote the unique quartet with support {a, b, c, d} displayed by T , by qT (abcd). Let T1 , T2 , and T3 be three distinct caterpillar trees of size |X| ≥ 4 that differ only in the placement of three taxa a, b, and c, such that for each tree vint (a), vint (b) and vint (c) are incident to e1 . Denote DT the set of |X| − 3 quartets, {qT (a, b, c, y)|y ∈ X − {a, b, c}}. Then QT1 \DT1 = QT2 \DT2 = QT3 \DT3 . |X| The proposition follows by noting that |QT \DT | = 4 − (|X| − 3). 4. Meshed Quartet Systems We want to prove that QT always contains at least |X| − 3 disjoint maximally linked systems, ensuring the removal of any |X| − 4 quartets from a compatible system would leave at least one maximally linked system. We introduce a process for building such systems by using a seed quartet which distinguishes an edge of a tree, and systematically constructing additional quartets which distinguish the same edge. 5 Definition. Let q = ai aj |ak ah be a quartet that distinguishes an edge e. For x ∈ X −supp(q) define the quartet substitution q(x) to be the unique quartet in which the taxon x replaces the taxon in the supp(q) which lies in the same set x in of the partition as X induced by e. Note that q(x) and q must distinguish the same edge of the tree. Definition.[ Let quartet q distinguish an edge e of a tree. Define the vine of q by v=q∪ q(x). We refer to q as the seed of the vine. x∈X−supp(q) The following theorem shows that if two quartets are linked, then so are their vines. Theorem 4. If qi and qj are linked quartets, then there exists a one-to-one pairwise linking between the elements of the associated vines vi and vj . Proof. Assume {qi , qj } are the seeds of the adjacent edges ei and ej and are linked in T . Let vi and vj be the associated vines. Let z be the taxon in supp(qj ) − supp(qi ) and y be the taxon in suppp(qi ) − supp(qj ). By construction supp({qi , qj } = supp{qi (z), qj (y)} and qi (z) and qj (y) are linked. In the construction of {qi (x), qj (x)} two taxa are removed and one taxon is introduced. Thus, for x ∈ X − (supp(qi ∪ qj )) we have 4 ≤ |supp({qi (x), qj (x)})| ≤ 6. If |supp({qi (x), qj (x)})| = 4, then qi (x) = qj (x) which is not possible since they distinguish different edges. In order for |supp({qi (x), qj (x)})| = 6, x would have to replace two different taxa in supp(qi ) ∩ supp(qj ). However, any two taxa in supp(qi ) ∩ supp(qj ) must lie in different sets of the partitions of X. As x cannot be in two different sets of a partition, |supp({qi (x), qj (x)})| = 6 6. Therefore, |supp({qi (x), qj (x)})| = 5. This completes the linking between quartets in vi and those in vj . In order to show that any Q of sufficient size is decisive, we construct a collection of quartets called a meshed system using quartet substitution. Definition. A meshed system of quartets on a tree T with taxon set X is a collection of |X| − 3 disjoint linked systems. We think of a meshed system as an array where each row is a linked system and each column is a vine. Note that the existence of a meshed system ensures that the removal of up to |X| − 4 quartets from QT must leave at least one phylogenetically decisive set. Theorem 5. For any phylogenetic tree T on a taxon set X, the system QT of all quartets displayed by T contains a meshed system. Proof. Let e1 be the interior edge adjacent to the cherry. The tree is connected, which implies we can label the remaining interior edges {e2 , · · · , e|X|−3 } such that ej is adjacent to some ei with i < j. We construct a vine for each edge which is pairwise linked to a vine from an adjacent edge using induction. Choose a quartet that distinguishes e1 to be the seed q1 and let vine v1 be the associated vine. Now let ej be adjacent to ei with i < j. By the inductive hypothesis let qi be the seed of ei . There exists a quartet qj that is linked to qi . By Theorem 4 there exists a pairwise linking of the associated vines vj and vi . By the principle of mathematical induction we thus construct v1 , · · · , v|X|−3 such that each vi is pairwise linked to a vine associated with an adjacent edge. Thus, each quartet in v1 gives rise to a linked system by pairwise linking along adjacent vines. Therefore T contains |v1 | = |X| − 3 disjoint linked systems of quartets. 6 The existence of a meshed system allows us to find the minimal number, k(|X|), such that every compatible set of quartets, Q, with |Q| ≥ k is displayed by a unique tree. Theorem 6. Let X be a taxon set, then k(|X|) = |X| − (|X| − 4) is the minimal number, 4 such that every compatible system of quartets, Q, on X with |Q| ≥ k is decisive. Proof. Let Q ⊂ QT be a compatible system of quartets. By Theorem 5, QT contains a meshed system M of quartets, or |X| − 3 disjoint maximally linked systems. By the pigeon |X| hole principle, if |Q| ≥ 4 − (|X| − 4) then Q must contain one of the maximally linked systems in M . Therefore by Theorem 2, Q is decisive. Moreover, Corollary 3 shows that |X| k ≥ |X| − (|X| − 4). Therefore k(|X|) = − (|X| − 4) is the minimal number, such that 4 4 every compatible system of quartets, Q, on X with |Q| ≥ k is decisive. 5. Probability In addition to establishing requirements for systems of subtrees to be decisive, [14] provides a formula for the probability that a particular system of subtrees will be decisive for an arbitrarily sampled phylogenetic tree. In this section, we prove a similar result by finding a lower-bound for the probability that a collection of compatible quartets of a particular size will be phylogenetically decisive. Theorem 7. The probability p(X, k) that an arbitrary collection of k compatible quartets on a taxon set X is decisive has the property |X|−3 P (−1i+1 ) p(X, k) ≥ i=1 |X|−3 i |QT | k |QT |−i(|X|−3) |QT |−k . Proof. By Theorem 2, if a collection of k compatible quartets contains a maximally linked system of quartets, then it is decisive. Thus, the probability that a compatible system is decisive is at least the probability that it contains one of the |X| − 3 disjoint maximally linked systems constructed in Theorem 5. The formula follows from applying the InclusionExclusion principle to count the number of subsets of size k, which contain one of the disjoint systems of maximally linked quartets. This formula can be used to help benchmark the results of quartet amalgamation techniques. To illustrate the utility of the formula we plot the lower bound probability versus the number of quartets selected for a fifteen taxa tree in Figure 1. Note that this curve does not rely on any information about which fifteen taxa tree the k quartets were drawn from. In applications, one is interested in the minimum sample size which would ensure a decisive subset with a certain probability. In Figure 2 we plot the number of quartets both as a percentage of |QT | and also as a power of |X|. Notice in particular that when viewed as a power of |X| the number of quartets needed to ensure the sample is decisive with accuracy of 25% is on the order of |X|c with c ∼ 3.3 and is almost indistinguishable from the number required to produce 99% accuracy. 7 Minimum probability that Q is decisive when ÈXÈ=15 1.0 minimum accuracy 0.8 0.6 0.4 0.2 0.0 0 200 400 600 ÈQÈ 800 1000 1200 Figure 1. The minimum probability that Q is decisive when |X| = 15. Minimum n such that ÈQÈ=ÈXÈ^n ensure minimum accuracy Freqeuncy of quartets required to ensure minimum accuracy 1.00 3.0 0.95 0.90 2.0 n Quartet frequency 2.5 1.5 0.85 1.0 0.80 0.5 0 20 40 60 80 100 0.0 0 Number of Taxa 25 % accuracy 75 % accuracy 95 % accuracy 99 % accuracy 20 40 25 % accuracy ÈXÈ 60 80 99 % accuracy (b) Sample size as a power of |X| (a) Sample size as a percentage of QT Figure 2. Sample size required to ensure a decisive subset with fixed probability 6. Conclusion We have shown that the number of quartets required to ensure decisiveness is on the order of O(|X|4 ). Though this number is too high to motivate a change in current sampling strategies, our probability results lend credence to sampling on arbitrary quartets on the order of |X|3 . Sampling strategies should be designed to avoid bias and increase the likelihood of being decisive. The following about linked systems may foster progress in this regard. Open Problems. What is the complexity of determining if a quartet system Q contains a maximally linked system of quartets? What is the probability that a decisive system of quartets contains a maximally linked system? What is the probability that a collection of quartets contains a maximally linked system? 8 100 Simulation studies of supertree methods report quality performance when the number of quartets used is of the order O(|X|3 ) [11, 12] which is consistent with our results. However, these methods are not guaranteed to return the correct even if the input set is decisive. For instance, Quartet MaxCut does not always return a fully resolved tree when the input sets contains a maximally linked system. We suspect that quartet amalgamation algorithms could be reformulated to emphasize small decisive units, such as maximally linked systems. 7. Acknowledgments Both authors were supported by grants from the National Center for Research Resources (5 P20 RR016461) and the National Institute of General Medical Sciences (8 P20 GM103499) from the National Institutes of Health. References [1] Vincent Berry, David Bryant, Tao Jiang, Paul Kearney, Ming Li, Todd Wareham, and Haoyong Zhang. A practical algorithm for recovering the best supported edges of an evolutionary tree. In Proceedings of the eleventh annual ACM-SIAM symposium on Discrete algorithms, pages 287–296. Society for Industrial and Applied Mathematics, 2000. [2] Vincent Berry, Tao Jiang, Paul Kearney, Ming Li, and Todd Wareham. Quartet cleaning: improved algorithms and simulations. In Algorithms-ESA99, pages 313–324. Springer, 1999. [3] Sebastian Bocker, Andreas W M Dress, and Mike A Steel. Patching up x-trees. 1998. [4] Mareike Fischer. Perfect taxon sampling and phylogenetically decisive taxon coverage. arXiv preprint arXiv:1206.3472, 2012. [5] Trevor R Hodkinson and John AN Parnell. Reconstructing the tree of life: taxonomy and systematics of species rich taxa. CRC Press, 2010. [6] Katharina T Huber, Jacobus Koolen, Vincent Moulton, and Andreas Spillner. Basic phylogenetic combinatorics. Cambridge University Press, 2012. [7] Tao Jiang, Paul Kearney, and Ming Li. A polynomial time approximation scheme for inferring evolutionary trees from quartet topologies and its application. SIAM Journal on Computing, 30(6):1942–1961, 2001. [8] Masatoshi Nei and Sudhir Kumar. Molecular evolution and phylogenetics. Oxford University Press, 2000. [9] Vincent Ranwez and Olivier Gascuel. Quartet-based phylogenetic inference: Improvements and limits. Molecular biology and evolution, 18(6):1103–1116, 2001. [10] Charles Semple and Mike A Steel. Phylogenetics, volume 24. Oxford University Press, 2003. [11] Sagi Snir and Satish Rao. Quartets maxcut: a divide and conquer quartets algorithm. IEEE/ACM Transactions on Computational Biology and Bioinformatics (TCBB), 7(4):704–718, 2010. [12] Sagi Snir, Tandy Warnow, and Satish Rao. Short quartet puzzling: A new quartet-based phylogeny reconstruction algorithm. Journal of Computational Biology, 15(1):91–103, 2008. [13] Michael Steel. The complexity of reconstructing trees from qualitative characters and subtrees. Journal of classification, 9(1):91–116, 1992. [14] Mike Steel and Michael J Sanderson. Characterizing phylogenetically decisive taxon coverage. Applied Mathematics Letters, 23(1):82–86, 2010. [15] Korbinian Strimmer, Nick Goldman, and Arndt von Haeseler. Bayesian probabilities and quartet puzzling. Molecular Biology and Evolution, 14(2):210, 1997. [16] Korbinian Strimmer and Arndt Von Haeseler. Quartet puzzling: a quartet maximum-likelihood method for reconstructing tree topologies. Molecular Biology and Evolution, 13(7):964–969, 1996. [17] Stephen J Willson. Building phylogenetic trees from quartets by using local inconsistency measures. Molecular Biology and Evolution, 16(5):685, 1999. Dept. of Mathematics, Winthrop University, Rock Hill, SC 29733 USA E-mail address: [email protected], [email protected] 9
© Copyright 2024