1 Introduction
An important topic in the research field of computational social choice is the (im)possibility of strategic behavior in collective decision making. This is epitomized by the eminence of results such as the GibbardSatterthwaite Theorem [16, 22], that identifies various conditions under which strategic voting (or manipulation) is, in principle, unavoidable. Manipulation in voting is a typical example of strategic behavior, and involves individuals reporting insincere preferences with the aim of obtaining a group outcome that is preferable for them.
Since strategic behavior in collective decision making is generally considered to be (socially) undesirable, a lot of research effort has been invested in diagnosing what social choice procedures are resistant to strategic behavior, and under what conditions. An important research direction along these lines investigates how computational complexity can be used to establish that various social choice procedures are (in many cases) practically immune to strategic behavior [2, 5]. For example, in many cases, it is in principle possible to manipulate voting rules (by reporting insincere preferences), but determining what insincere preference leads to a better outcome is computationally so demanding that it prevents manipulative behavior from being a useful policy.
Contributions
In this paper, we use the framework of computational complexity theory to study several scenarios of strategic behavior in the setting of judgment aggregation. Judgment aggregation studies collective decision making on a set of issues that are logically related [12]. In particular, we study three scenarios of strategic behavior for the Kemeny judgment aggregation procedure—which is one of the most prominent judgment aggregation procedures known from the literature. We investigate:

manipulation, where an individual reports an insincere individual judgment in an attempt to enforce a preferable group judgment (from their point of view);

bribery, where an external party bribes several individuals that are involved in the group decision process (that is, the briber stipulates their individual judgments) in order to obtain a group judgment with certain properties; and

control, where an external party controls the set of issues that are involved in the judgment aggregation setting, with the aim of achieving a group judgment with certain properties.
Concretely, we study various different decision problems that formalize the computational tasks involved in the strategic behavior in each of these scenarios. We show that all the computational problems that we consider in this paper are complete. That is, we show that:

Manipulation for the Kemeny rule in judgment aggregation is complete.

Bribery for the Kemeny rule in judgment aggregation is complete.

Control (by adding or removing issues) for the Kemeny rule in judgment aggregation is complete.
(Completeness for the complexity class indicates that a problem is computationally intractable. Even the easier problem of checking whether a given candidate solution is in fact a solution is not efficiently solvable—it requires solving an NPcomplete problem.)
Various different frameworks have been used in the literature to formalize the setting of judgment aggregation (see, e.g., [13]). The computational complexity results that we develop hold for two commonly considered judgment aggregation frameworks: formulabased judgment aggregation and constraintbased judgment aggregation. We discuss these judgment aggregation frameworks in more detail in Section 2.2. (In order to capture the scenario of control naturally in the constraintbased judgment aggregation framework, we consider a slightly extended variant of this framework. For more details, see Section 2.2.3.)
Most of the various forms of strategic behavior that we consider in this paper involve the incentive of achieving a preferable group outcome. There are various ways to define preference relations over (individual and group) judgments. The preferences that we study are based on weighted Hamming distances. That is, we consider weight functions that assign to each issue a weight that indicates how important it is for an individual (or for an external party) that the group judgment agree with their judgment on this issue. Such weight functions naturally induce preference relations over judgments.
In addition, we study variants of the strategic behavior scenarios where the objective is to obtain a group judgment that includes a given set of conclusions. This can be seen as an allornothing variants (the group outcome either includes the required set of conclusions or it does not), whereas the variants involving preferences based on weighted Hamming distances offer a more gradual view (maybe the optimal outcome is not possible, but the current outcome can still be improved slightly by behaving strategically).
Worstcase Complexity
The computational intractability results that we provide in this paper can be seen as positive results, since they show that various kinds of undesirable strategic behavior cannot be used efficiently across the board due to computational complexity obstructions. However, it is important to emphasize that the computational complexity results that we provide in this paper are worstcase complexity results. Worstcase intractability results indicate that there is no algorithm that works efficiently in all possible cases. However, it might well be the case that there are restricted settings where several forms of strategic behavior are efficiently possible.
In order to consolidate the conclusion that strategic behavior for the Kemeny procedure in judgment aggregation is computationally intractable, further research is needed. Such further research would have to establish that the various forms of strategic behavior remain computationally intractable in many restricted settings. A key tool for establishing computational complexity results for restricted settings is the paradigm of parameterized complexity [10, 11, 15, 20]
—this is a framework where the complexity of computational problems is measured in a multidimensional way, in contrast to the classical theory of computational complexity, where the complexity of problems is measured only in terms of the input size in bits.
Related Work
The concept of manipulation in judgment aggregation has been studied before in the literature, both from an axiomatic point of view [4, 6, 8] and from a computational complexity point of view [3, 14]. The complexity analysis of manipulation in judgment aggregation that has been done in the literature is restricted to uniform premisebased quota rules. Additionally, bribery in judgment aggregation has been studied from a computational complexity point of view for uniform premisebased quota rules [3].
Outline
We begin in Section 2 by considering relevant notions from computational complexity and judgment aggregation that we use in this paper. Then, in Section 3, we develop the intractability results for the scenario of manipulation. In Section 4, we turn to the scenario of bribery, and in Section 5, we consider the scenario of control (by adding or deleting issues). Finally, we conclude in Section 6.
2 Preliminaries
Before we turn to the complexity results that we develop in this paper, we review several relevant concepts from computational complexity theory and judgment aggregation.
2.1 Complexity Theory
We begin with reviewing some basic notions from computational complexity. We assume the reader to be familiar with the complexity classes P and NP, and with basic notions such as polynomialtime reductions. For more details, we refer to textbooks on computational complexity theory (see, e.g., [1]).
We briefly review the classes of the Polynomial Hierarchy (PH) [19, 21, 23, 24]. In order to do so, we consider quantified Boolean formulas. A (fully) quantified Boolean formula (in prenex form) is a formula of the form , where all are propositional variables, each is either an existential or a universal quantifier, and is a (quantifierfree) propositional formula over the variables . Truth for such formulas is defined in the usual way.
To consider the complexity classes of the PH, we restrict the number of quantifier alternations occurring in quantified Boolean formulas, i.e., the number of times where . We consider the complexity classes , for each . Let be an arbitrary, fixed constant. The complexity class consists of all decision problems for which there exists a polynomialtime reduction to the problem , that is defined as follows. Instances of the problem are quantified Boolean formulas of the form , where if
is odd and
if is even, where , and where is quantifierfree. The problem is to decide if the quantified Boolean formula is true. The complementary class consists of all decision problems for which there exists a polynomialtime reduction to the problem co, that is complementary to the problem . The Polynomial Hierarchy (PH) consists of the classes and , for all .Alternatively, one can characterize the class
using nondeterministic polynomialtime algorithms with access to an oracle for an NPcomplete problem. Let
be a decision problem. A Turing machine
with access to an oracle is a Turing machine with a dedicated oracle tape and dedicated states , and . Whenever is in the state , it does not proceed according to the transition relation, but instead it transitions into the state if the oracle tape contains a string that is a yesinstance for the problem , i.e., if , and it transitions into the state if . Intuitively, the oracle solves arbitrary instances of in a single time step. The class consists of all decision problems that can be solved in polynomial time by a nondeterministic Turing machine that has access to an oracle, for some .2.2 Judgment Aggregation
Next, we introduce the two formal judgment aggregation frameworks that we use in this paper: formulabased judgment aggregation (as used by, e.g., [7, 14, 18]) and constraintbased judgment aggregation (as used by, e.g., [17]). Moreover, we briefly discuss an extended variant of the constraintbased judgment aggregation framework (as considered in, e.g., [13]).
2.2.1 FormulaBased Judgment Aggregation
We begin with the framework of formulabased judgment aggregation.
An agenda is a finite, nonempty set of formulas that does not contain any doublynegated formulas and that is closed under complementation. Moreover, if is an agenda, then we let denote the preagenda associated to the agenda . We denote the bitsize of the agenda by . A judgment set for an agenda is a subset . We call a judgment set complete if or for all ; and we call it consistent if there exists an assignment that makes all formulas in true. Intuitively, the consistent and complete judgment sets are the opinions that individuals and the group can have.
We associate with each agenda an integrity constraint , that can be used to further restrict the set of feasible opinions. Such an integrity constraint consists of a single propositional formula. We say that a judgment set is consistent if there exists a truth assignment that simultaneously makes all formulas in and true. Let denote the set of all complete and consistent subsets of . We say that finite sequences of complete and consistent judgment sets are profiles, and where convenient we equate a profile with the (multi)set . Moreover, for , we let denote the profile .
A judgment aggregation procedure (or rule) for the agenda and the integrity constraint is a function that takes as input a profile , and that produces a nonempty set of nonempty judgment sets. We call a judgment aggregation procedure resolute if for any profile it returns a singleton, i.e., ; otherwise, we call irresolute. We call a judgment aggregation procedure anonymous if for every profile and for every permutation it holds that , where . An example of a resolute, anonymous judgment aggregation procedure is the strict majority rule Majority, where , where if and only if occurs in the strict majority of judgment sets in , for all , and where if and only if , for all . We call a judgment aggregation procedure complete and consistent, if is complete and consistent, respectively, for every and every . The procedure Majority is not consistent. Consider the agenda with , and the profile , where , , and . The unique outcome in is inconsistent.
The Kemeny aggregation procedure is based on a notion of distance. This distance is based on the Hamming distance between two complete judgment sets . Intuitively, the Hamming distance counts the number of issues on which two judgment sets disagree. Let be a single consistent and complete judgment set, and let be a profile. We define the distance between and to be . Then, we let the outcome of the Kemeny rule be the set of those for which there is no such that . (If and are clear from the context, we often write to denote .) Intuitively, the Kemeny rule selects those complete and consistent judgment sets that minimize the cumulative Hamming distance to the judgment sets in the profile. The Kemeny rule is irresolute, complete, consistent and anonymous.
2.2.2 ConstraintBased Judgment Aggregation
We continue with the framework of constraintbased judgment aggregation.
Let be a finite set of issues, in the form of propositional variables. Intuitively, these issues are the topics about which the individuals want to combine their judgments. A truth assignment is called a ballot, and represents an opinion that individuals and the group can have. We will also denote ballots
by a binary vector
, where for each . Moreover, we say that is a partial ballot, and that agrees with a ballot if whenever , for all . As in the case for formulabased judgment aggregation, we introduce an integrity constraint , that can be used to restrict the set of feasible opinions (for both the individuals and the group). The integrity constraint is a propositional formula on the variables . We define the set of rational ballots to be the ballots (for ) that satisfy the integrity constraint . Rational ballots in the constraintbased judgment aggregation framework correspond to complete and consistent judgment sets in the formulabased judgment aggregation framework. We say that finite sequences of rational ballots are profiles, and where convenient we equate a profile with the (multi)set . Moreover, for , we let denote the profile .A judgment aggregation procedure (or rule), for the set of issues and the integrity constraint , is a function that takes as input a profile , and that produces a nonempty set of ballots. We call a judgment aggregation procedure resolute if for any profile it returns a singleton, i.e., ; otherwise, we call irresolute. We call a judgment aggregation procedure anonymous if for every profile and for every permutation it holds that , where . We call a judgment aggregation procedure rational (or consistent), if is rational for every and every .
As an example of a judgment aggregation procedure we consider the strict majority rule Majority, where and where each agrees with the majority of the th bits in the ballots in (in case of a tie, we arbitrarily let ). To see that Majority is not rational, consider the set of issues, the integrity constraint , and the profile , where , , and . The unique outcome in is not rational.
The Kemeny aggregation procedure is defined for the constraintbased judgment aggregation framework as follows. Similarly to the case for formulabased judgment aggregation, the Kemeny rule is based on the Hamming distance , between two rational ballots and for the set of issues and the integrity constraint . Let be a single ballot, and let be a profile. We define the distance between and to be . Then, we let the outcome of the Kemeny rule be the set of those ballots for which there is no such that . (If and are clear from the context, we often write to denote .) The Kemeny rule is irresolute, anonymous and rational.
2.2.3 Extended ConstraintBased Judgment Aggregation
Finally, we consider an extended variant of the constraintbased judgment aggregation framework. In the constraintbased judgment aggregation framework, we consider a set of issues and an integrity constraint in the form of a propositional formula that satisfies the constraint that . However, in some situations it is more convenient to allow the integrity constraint to contain additional variables. In the extended constraintbased framework, we relax the condition that , and we allow arbitrary propositional formulas as integrity constraints. This modification requires us to adapt the notion of rationality accordingly. A ballot is said to be rational if is satisfiable—that is, if there is some truth assignment such that satisfies .
2.2.4 Preferences over Opinions
Strategic behavior for judgment aggregation (such as the problems of manipulation, bribery and control) involves the incentive to obtain a “better” outcome. Therefore, in order to study strategic behavior, it is essential to define a notion of preference over opinions—that is, when is one opinion “better than” (or preferred over) another opinion.
In the worst case, the number of possible opinions that play a role is exponential in the number of issues—e.g., for issues there could be up to possible opinions. As a result, it is unreasonable to expect agents to explicitly specify a preference relation over all (feasible) opinions. Instead it makes more sense to use a compact specification language to represent a preference relation over opinions. In this paper, we will use one such specification method that can be used to capture a wide range of preferences. Various preference relations over opinions have been studied in the literature [3, 6, 8].
We consider preferences based on a weighted Hamming distance. We define this weighted Hamming distance for the setting of formulabased judgment aggregation. Definitions for the setting of constraintbased judgment aggregation are entirely similar. Take an agenda together with an integrity constraint . An agent can specify their preference relation over complete and consistent judgment sets by providing a weight function that produces a weight for each formula . Intuitively, for each , the weight indicates how important it is for the agent that the outcome agrees with their truthful opinion on the issue . (Alternatively, one could consider weight functions that produce rational or real weights.) Then, for two complete judgment sets and the weighted Hamming distance is defined as follows:
That is, for each formula that and disagree on, the weighted Hamming distance is increased by .
Using this notion of weighted Hamming distance, we can define a preference relation for an agent. Suppose that the agent’s truthful opinion is given by a complete and consistent judgment set . Moreover, suppose that the agent’s view on the relative importance of the separate issues is given by a weight function . Then the preference relation for this agent is defined as follows. For any two complete and consistent judgment sets , it holds:
Correspondingly, a judgment set is (strictly) preferred over another judgment set if and only if the weighted Hamming distance from to is (strictly) smaller than the weighted Hamming distance from to .
A particular case of the weighted Hamming distance is the unweighted Hamming distance. That is, the case where for all . Whenever the weight function is the constant function that always returns , we drop the “” from the notation—that is, the unweighted Hamming distance between two judgment sets and is denoted by .
Other preference relations
In the literature, there have been various proposals for notions of preference over opinions. For example, the phenomenon of manipulation in judgment aggregation has been studied in the settings (1) where one judgment set is preferred over another if it agrees with a fixed optimal judgment set on at least one issue where the other judgment set disagrees [8], and (2) where one judgment set is preferred over a second judgment set if it agrees with a fixed optimal judgment set on at least one issue where the second judgment set disagrees, and for all issues it holds that if the second judgment set agrees with the optimal judgment set then the first judgment set also agrees with the optimal [8]. Other preference relations that have been investigated are toprespecting preferences and closenessrespecting preferences. The class of toprespecting preferences contains all preferences that prefer a single most preferred judgment set over all other judgment sets (and the preference between the other judgment sets is arbitrary) [3, 6]. The class of closenessrespecting preferences contains preferences that additionally satisfy the condition of closeness: if one judgment set agrees with the most preferred judgment on a superset of issues compared to another judgment set, then the one judgment is preferred over the other [3, 6].
3 Manipulation
The first form of strategic behavior in judgment aggregation that we consider is manipulation. This concerns cases where individuals aim to influence the outcome of the aggregation procedure in their favor by reporting an insincere judgment, that is, by reporting a judgment that differs from their beliefs.
For irresolute judgment aggregation procedures such as the Kemeny procedure, one can consider various requirements on the strategically reported insincere judgments. For instance, one could require that every outcome for the insincere judgment is preferred over every outcome for the sincere judgment. Alternatively, one could require that there is at least one outcome for the insincere judgment that is preferred over every outcome for the sincere judgment. Correspondingly, we consider the following decision problems. (We formalize these problems for the setting of formulabased judgment aggregation. For the setting of constraintbased judgment aggregation, these problems are defined entirely similarly.)
CautiousManipulation(Kemeny) Instance: An agenda with an integrity constraint , a weight function , and a profile . Question: Is there a complete and consistent judgment set such that for all and for all it holds that ?
OptimisticManipulation(Kemeny) Instance: An agenda with an integrity constraint , a weight function , and a profile . Question: Is there a complete and consistent judgment set and some such that for all it holds that ?
PessimisticManipulation(Kemeny) Instance: An agenda with an integrity constraint , a weight function , and a profile . Question: Is there a complete and consistent judgment set such that for all there is some such that ?
SuperoptimisticManipulation(Kemeny) Instance: An agenda with an integrity constraint , a weight function , and a profile . Question: Is there a complete and consistent judgment set , some and some such that ?
SafeSuperoptimisticManipulation(Kemeny) Instance: An agenda with an integrity constraint , a weight function , and a profile . Question: Is there a complete and consistent judgment set such that (1) for all and for all it holds that , and such that (2) there exists some and some such that ?
3.1 Complexity Results
In this section, we prove the following result.
Theorem 1.
The following problems are complete:

CautiousManipulation(Kemeny),

OptimisticManipulation(Kemeny),

PessimisticManipulation(Kemeny),

SuperoptimisticManipulation(Kemeny), and

SafeSuperoptimisticManipulation(Kemeny).
Moreover, hardness holds already for the case where the manipulator’s preferences are based on the unweighted Hamming distance.
Proposition 2.
CautiousManipulation(Kemeny) is in .
Proof.
We describe a nondeterministic polynomialtime algorithm with access to an NP oracle that solves the problem. Let specify an instance of CautiousManipulation(Kemeny). The algorithm proceeds in several steps.
Firstly, (1) the algorithm determines the minimum distance from to any complete and consistent judgment set . That is, is the cumulative unweighted Hamming distance from the judgments in to the judgment sets . This can be done in (deterministic) polynomial time using queries to an NP oracle.
Then, (2) the algorithm determines the minimum distance (weighted by ) from to any judgment set , that is, from to any complete and consistent judgment set that has cumulative unweighted Hamming distance to the profile . This can also be done in (deterministic) polynomial time using an NP oracle.
Next, (3a) the algorithm guesses a complete judgment set together with a truth assignment , and it checks whether satisfies both and . This can be done in nondeterministic polynomial time. Moreover, (3b) the algorithm determines the minimum distance from to any complete and consistent judgment set . Finally, (3c) the algorithm determines by using a single query to an NP oracle whether there exists some complete and consistent judgment set such that and . If this is the case, the algorithm rejects; otherwise, the algorithm accepts.
It is straightforward to verify that the algorithm runs in nondeterministic polynomial time. Moreover, the algorithm accepts the input (for some sequence of nondeterministic choices) if and only if there is some complete and consistent judgment set such that for all and for all it holds that . ∎
Proposition 3.
OptimisticManipulation(Kemeny) is in .
Proof.
We describe a nondeterministic polynomialtime algorithm with access to an NP oracle that solves the problem. Let specify an instance of OptimisticManipulation(Kemeny). The algorithm proceeds in several steps. For the first two steps, the algorithm proceeds exactly as the algorithm described in the proof of Proposition 2. That is, (1) the algorithm computes and (2) it computes , both in deterministic polynomial time using an NP oracle.
For the third step, the algorithm proceeds in a similar fashion as the algorithm described in the proof of Proposition 2. That is, (3a) the algorithm guesses a complete judgment set together with a truth assignment , and it checks whether satisfies both and . Also, (3b) the algorithm determines the minimum unweighted Hamming distance from to any complete and consistent judgment set . This can be done using queries to an NP oracle. Then, (3c) the algorithm guesses some complete judgment set together with a truth assignment , and it checks whether satisfies both and . Moreover, the algorithm checks whether —that is, —and , and accepts if and only if this is the case.
It is straightforward to verify that the algorithm runs in nondeterministic polynomial time. Moreover, the algorithm accepts the input (for some sequence of nondeterministic choices) if and only if there is some complete and consistent judgment set and some such that for all it holds that . ∎
Proposition 4.
PessimisticManipulation(Kemeny) is in .
Proof.
We describe a nondeterministic polynomialtime algorithm with access to an NP oracle that solves the problem. Let specify an instance of PessimisticManipulation(Kemeny). The algorithm proceeds in several steps. For the first step, the algorithm proceeds exactly as the algorithm described in the proof of Proposition 2. That is, (1) the algorithm computes in deterministic polynomial time using queries to an NP oracle.
Then, (2) the algorithm determines the maximum distance (weighted by ) from to any judgment set , that is, from to any complete and consistent judgment set that has cumulative unweighted Hamming distance to the profile . This can also be done in (deterministic) polynomial time using an NP oracle.
Next, (3a) the algorithm guesses a complete judgment set together with a truth assignment , and it checks whether satisfies both and . This can be done in nondeterministic polynomial time. Moreover, (3b) the algorithm determines the minimum unweighted Hamming distance from to any complete and consistent judgment set . Finally, (3c) the algorithm determines by using a single query to an NP oracle whether there exists some complete and consistent judgment set such that and . If this is the case, the algorithm rejects; otherwise, the algorithm accepts.
It is straightforward to verify that the algorithm runs in nondeterministic polynomial time. Moreover, the algorithm accepts the input (for some sequence of nondeterministic choices) if and only if there is some complete and consistent judgment set such that for all there is some such that . ∎
Proposition 5.
SuperoptimisticManipulation(Kemeny) is in .
Proof.
We describe a nondeterministic polynomialtime algorithm with access to an NP oracle that solves the problem. Let specify an instance of SuperoptimisticManipulation(Kemeny). The algorithm proceeds in several steps. For the first steps, the algorithm proceeds exactly as the algorithm described in the proof of Proposition 2. That is, (1) the algorithm computes , in deterministic polynomial time using queries to an NP oracle.
Then, (2) the algorithm guesses a complete judgment set together with a truth assignment , and it checks whether satisfies both and , and whether .
For the third step, the algorithm proceeds in a similar fashion as the algorithm described in the proof of Proposition 2. That is, (3a) the algorithm guesses a complete judgment set together with a truth assignment , and it checks whether satisfies both and . Also, (3b) the algorithm determines the minimum distance from to any complete and consistent judgment set . This can be done using queries to an NP oracle. Then, (3c) the algorithm guesses some complete judgment set together with a truth assignment , and it checks whether satisfies both and . Moreover, the algorithm checks whether —that is, —and , and accepts if and only if this is the case.
It is straightforward to verify that the algorithm runs in nondeterministic polynomial time. Moreover, the algorithm accepts the input (for some sequence of nondeterministic choices) if and only if there is some complete and consistent judgment set , some and some such that . ∎
Corollary 6.
SafeSuperoptimisticManipulation(Kemeny) is in .
Proof (sketch).
Proposition 7.
CautiousManipulation(Kemeny) is hard.
Proof.
We show hardness by giving a reduction from the satisfiability problem for quantified Boolean formulas of the form . Let be a quantified Boolean formula. Let and . Without loss of generality, we assume that is a multiple of —that is, that for some . We construct an agenda , an integrity constraint , a weight function , and a profile as follows.
We consider fresh variables and fresh variables . Moreover, we consider fresh variables , fresh variables , fresh variables for , fresh variables for and , and fresh variables for and , where . We then let the agenda consist of the variables and and the fresh variables we introduced above, together with their negations. That is, we let .
We then define the integrity constraint as follows. We let
and
(Here denotes exclusive disjunction.)
As a result of the definition of , each complete and consistent judgment set satisfies (at least) one of the following four conditions.

For some , the judgment set includes each formula for .

The judgment set includes exactly one of and for each , it includes none of the formulas , it includes exactly one of and for each , it includes none of the formulas , it includes either all formulas or all formulas for , and does not satisfy .

The judgment set includes exactly one of and for each , it includes none of the formulas , it includes all formulas , for each it includes either none or both of and , and it includes all formulas for .

The judgment set includes all formulas , for each it includes either none or both of and , it includes all formulas , for each it includes either none or both of and , and it includes either all formulas or all formulas for .
We define by letting for each . In other words, we consider the unweighted Hamming distance.
Finally, we let , where are defined as described in Table 1. In this table, the indices range over all possible values, and for each we write a if and a if .
In the remainder, we will argue that there is some truth assignment such that for all truth assignments it holds that is true if and only if there is some complete and consistent judgment set such that for all and for all it holds that .
Firstly, we observe that , where and are defined as described in Table 2. Both and are complete and consistent, and have a cumulative Hamming distance of to the profile . It is straightforward to verify that no complete and consistent judgment set has a smaller cumulative Hamming distance to the profile . (For instance, the judgment sets of the form , as described below in Table 3, have a cumulative Hamming distance of
Comments
There are no comments yet.