Double-Sided Markets with Strategic Multi-dimensional PlayersThis work is supported by the Horizon 2020 funded project TYPES (Project number: 653449. Call Identifier H2020-DS-2014-1).

Double-Sided Markets with Strategic Multi-dimensional Players1

Abstract

We consider mechanisms for markets that are double-sided and have players with multi-dimensional strategic spaces on at least one side. The players of the market are strategic, and act to optimize their own utilities. The mechanism designer, on the other hand, aims to optimize a social goal, i.e., the gain from trade. We focus on one example of this setting which is motivated by the foreseeable future form of online advertising.

Online advertising currently supports some of the most important Internet services, including: search, social media and user generated content sites. To overcome privacy concerns, it has been suggested to introduce user information markets through information brokers into the online advertising ecosystem. Such markets give users control over which data get shared in the online advertising exchange. We describe a model for the above foreseeable future form of online advertising, and design two mechanisms for the exchange of this model: a deterministic mechanism which is related to the vast literature on mechanism design through trade reduction and allows players with a multi-dimensional strategic space, and a randomized mechanism which can handle a more general version of the model.

Keywords: Mechanism design, double-sided market, multi-dimensional players, online advertising market

\newtoggle

conference \togglefalseconference \DeclareCaptionTypemechanism[Mechanism][List of Mechanisms] \forLoop126calBbCounter

1 Introduction

Billions of transactions are carried out via exchanges at every given day, and the number of transactions and exchanges continues to grow as the need for competitiveness promotes adoption. The design of one-sided incentive compatible (truthful bidding) mechanisms for exchanges is relatively well understood. However, incentive compatible multi-sided mechanisms present a significantly more challenging problem as they introduce more sophisticated requirements such as budget balance.

More specifically, we are interested in designing exchanges (mechanisms) for multi-sided markets with strategic players. The players of the market are strategic, and act to optimize their own utilities. The mechanism designer, on the other hand, aims to optimize a social goal, i.e., the gain from trade (the difference between the total value of the sold goods for the buyers and the total costs of these goods for the sellers). The design of such mechanisms raises a few interesting questions. Can the mechanism maintain simultaneously different desirable economic properties such as: individual rationality (IR)—participants do not lose by participation, incentive compatibility (IC)—players are incentivized to report their true information to the mechanism and budget balance (BB)—the mechanism does not end up with a loss. Moreover, can the mechanism maintain these properties while suffering only a bounded loss compared to the optimal gain from trade? Finally, can this be done when all the players have a multi-dimensional strategic space?2

The above questions can be studied in the context of many multi-sided markets. We focus on one such market, and leave the consideration of other multi-sided markets for future work. The market we consider is motivated by online advertising in its foreseeable future form. Online advertising currently supports some of the most important Internet services, including: search, social media and user generated content sites. However, the amount of information that companies collect about users increasingly creates privacy concerns in society as a whole, and even more so in the European society. In recent years EU regulators have actively been looking for solutions to guarantee that users’ privacy is preserved. In particular, the EU regulators have been looking for tools that enable the end user to configure their privacy settings so that only information allowed by the end-user is collected by online advertising platforms.

The market we study is induced by a new solution we suggest for the above privacy issue. In this solution mediators serve as the interface between end-users and the other players in the online advertising market. Each user informs his mediator of the attributes she is willing to reveal, and her cost, i.e., the compensation she requires for every ad she views. The mediator then tries to “sell” the user on the advertising market based only on the attributes she agreed to reveal, and, if successful, pays her the appropriate cost out of the amount he got from the sell.

As revealing more attributes is likely to result in a more profitable sale, our solution provides incentives for users to share their information with the advertising market while allowing users to retain control of the amount of information they would like to share. Notice that the fact that our solution motivates users to participate in the advertising market, and even to provide more precise information for targeting campaigns, means that our solution improves the efficiency of the advertising system and the digital economy as a whole (in addition to answering the privacy concerns discussed above). This is in sharp contrast to other natural approaches for dealing with privacy issues, such as cryptography based approaches, which reduce the amount of information available to the advertisers but give them nothing in return.

The advertising market induced by the above solution has mediators on one side, and advertisers on the other side. Each mediator has a set of users associated with him, and he is trying to assign these users to advertisers using the market. Each one of the users has a non-negative cost which she has to be paid if she is assigned to an advertiser. The mediators themselves have no cost of their own, however, each of them has to pay his users their cost if they are assigned to advertisers. Thus, the utility of a mediator is the amount paid to him minus the total cost of his users that are assigned. Finally, each advertiser has a positive capacity determining the number of users she is interested in targeting, and she gains a non-negative value from every one of the users assigned to her (as long as her capacity is not exhausted). Thus, the advertiser’s utility is her value multiplied by the number of users assigned to her (as long as this number does not exceed her capacity) minus her total payment.

A mechanism for the above market knows the mediators and the advertisers, but has no knowledge about their parameters or about the users. The objective of the mechanism is to find an assignment of users to advertisers that maximizes the gain from trade. In addition, the mechanism also decides how much to charge (pay) each advertiser (mediator). In order to achieve these goals, the mechanism receives reports from the advertisers and mediators. Each advertiser reports her capacity and value, and each mediator reports the number of his users and their costs. The mediators and advertisers are strategic, and thus, free to send incorrect reports. In other words, an advertiser may report incorrect capacity and value, and a mediator may report any subset of his users and associate an arbitrary cost with each user. We say that an advertiser is truthful if she reports correctly her capacity and value. A mediator is considered truthful if he reports to the mechanism his true number of users and the true costs of these users. Notice that we assume that the costs of the users are known to their corresponding mediators, i.e., the users are non-strategic. This assumption is reasonable given the high speed of the online advertising market, especially compared to the speed at which a private user can change her contract with her mediator.

To better understand the design challenge raised by this market, we observe that even if our setting is reduced to a single buyer-single seller exchange, still it is well known from [11] that maximizing gain from trade while maintaining individual rationality and incentive compatibility perforce to run into deficit (is not budget balanced). A well known circumvention of [11]’s impossibility is [10]’s trade reduction for the simple setting of double sided auctions. In [10]’s setting trade is conducted between multiple strategic sellers offering identical goods to multiple strategic buyers, where each seller is selling a single good and each buyer is interested in buying a single good. The result of [10] relaxes the requirement for optimal trade by means of a trade reduction. The trade reduction leads to an individually rational, incentive compatible and budget balance mechanism. Following [10]’s work several other mechanisms were designed using the technique of trade reduction. However, all the trade reduction mechanisms suggested in the literature to date allow only players with single dimensional strategic spaces.

1.1 Our Contribution

Given that existing trade reduction solutions do not apply in our setting, we describe new double-sided mechanisms able to handle mediators and advertisers with multi-dimensional strategic spaces. Our mechanisms guarantee desirable economic properties, and at the same time yield a gain from trade approximating the optimal gain from trade. If being truthful is a dominant strategy3 for each advertiser and each mediator (regardless of other players’ strategies), then the mechanism is incentive compatible (IC); if no advertiser and no mediator have a negative utility by participating truthfully in the mechanism than it is individually rational (IR). Our objective is to construct mechanisms that are IC and IR.

We first study a special case of our setting where the advertisers’ capacities are publicly known (however, these capacities need not be all equal). The set of users of each mediator, on the other hand, remains unknown to the mechanism (i.e., the mechanism only learns about it through the mediator’s report). For this case we present a deterministic mechanism we term “Price by Removal Mechanism” (PRM) that works as follows: for every mediator find a threshold cost, and remove users of the mediator whose cost is above this threshold. Add a dummy advertiser with value that is the maximum threshold cost computed for the mediators and a capacity that is equal to the total number of users remaining. Assign the non-removed users to the advertisers using a VCG auction [15, 6, 9] in which the users are the goods and the bidders are the advertisers. Price the mediators according to their threshold cost, and price the advertisers according to the prices of the VCG auction describe above.

The method used to calculate the threshold costs of the above mechanism induce its properties. We prove that, for appropriately chosen threshold costs, the above mechanism is IC, IR, BB and provides a non-trivial approximation for the optimal gain from trade. More formally, if is the size of the optimal trade, and is an upper bound, known to the mechanism, on the maximum capacity of any player (mediator or advertiser), then:

Theorem 1.1.

PRM is BB, IR, IC and -competitive.

PRM generalizes the trade reduction ideas used so far in the literature for single dimensional strategic players, but is much more involved. Intuitively, PRM differs from previous ideas by the following observation. A trading set is the smallest set of players that is required for trade to occur. In the existing literature for single dimensional strategic players a trade reduction mechanism makes a binary decision regarding every trading set of the optimal trade, i.e., either the trading set is removed as a whole, or it is kept. On the other hand, dealing with multi-dimensional players requires PRM to remove only parts of some trading sets, and thus, requires it to make non-binary decisions.

Our deterministic mechanism PRM handles one type of multi-dimensional players (the mediators) and one type of single dimensional strategic space players (the advertisers). In order to enrich our strategic space even further, and allow advertisers to have multi-dimensional strategic spaces as well, we present also a randomized mechanism termed “Threshold by Partition Mechanism” (TPM). TPM applies to our general setting, i.e., we no longer assume that any capacity is known to the mechanism, and it works as follows: divide the set of mediators uniformly at random into to two sets ( and ) and divide the set of advertiser uniformly at random, as well, into two sets ( and ). Then use the optimal trade for and to produce threshold cost and threshold value that allow BB pricing as well as the needed reduction in trade for and . Analogously, use the optimal trade for and to produce threshold cost and threshold value that allow BB pricing as well as the needed reduction in trade for and .

The above description of TPM is not complete since the use of threshold cost and value from one pair to reduce the trade in the other pair might create an unbalanced reduction. To overcome this issue we create two random low priority sets: one of advertisers and the other of mediators. Then, whenever the reduction in trade is unbalanced, we remove additional low priority mediators or advertisers in order to restore balance (which can be done with high probability). The following theorem shows that the above mechanism is IC, IR, BB and provides a non-trivial approximation for the optimal gain from trade. The parameter is an upper bound, known to the mechanism, on the ratio between the maximum capacity of any player (mediator or advertiser) and the size of the optimal trade.4

Theorem 1.2.

TPM is BB, IR, IC and -competitive.

We note that TPM is universally truthful, i.e., its IC property holds for every given choice of the random coins of the mechanism.

One drawback of our results is that the competitive ratios guaranteed by Theorems 1.1 and 1.2 are non-trivial only when no single advertiser or mediator has a large market power and the mechanism has access to a good bound on the maximum market power of any player. From a practical point of view we believe these assumption are both plausible. The number of agents using any given real life ad-exchange is usually very large, and the mechanism can use the large quantity of historical data available to it to estimate the bound it needs. From a more theoretical point of view, the impossibility result of [11] shows that no non-trivial competitive ratio can be achieved when one advertiser and one mediator control all the trade. This suggests, although we are unable to prove it formally, that the competitive ratio must deteriorate as a single advertiser or mediator gains more and more market power (i.e., when and increase).

1.2 Related Work

From a motivational point of view the most closely related literature to our work consists of works that involve mediators and online advertising markets, such as [1, 7, 14]. These works differ from ours in two crucial points. First, despite being motivated by the online display ads network exchange, the models studied by these works are actually auctions (i.e., one-sided mechanisms). Thus, they need not deal with the challenges and impossibility integrated by the double-sided structure of our market and the requirement to keep it from running into a deficit. Second, our focus is maximization of the gain from trade, unlike the above works which focus on revenue maximization.

Another related work involving both markets and mediators studies the phenomenon of markets in which individual buyers and sellers trade through intermediaries, who determine prices via strategic considerations [4]. An essential difference between the model of [4] and our model is that [4] does not assume private values for the players, and therefore, the impossibility of [11] does not apply in its model.

Last but not least is the literature on trade reduction and multi-sided markets. Deterministic mechanisms using trade reduction as a mean to achieve IC, IR and BB were described for various settings [10, 5, 2, 8, 12, 3]. Moreover, for a variant of the setting of [10, 3], [13] obtained a randomized mechanism achieving IC, IR and strong budget balance (i.e., it is BB and leaves no surplus for the market maker). The mutual grounds of all these settings is that all players participating in the trade have a single dimension strategic space. This idea was captured by [8] which provided a single trade reduction procedure applicable to all the above settings. In addition, [8] also defined a class of problems that can be solved by its suggested trade reduction procedure. Essentially this classification is based on partitioning the players participating in the trading set into equivalence classes.

As pointed out in the previous subsection, both our presented mechanisms extend significantly on the existing trade reduction literature. More specifically, even when all advertisers have known equal capacities (while mediators can still have a variable number of users), fitting our model into the classification of [8] still requires each mediator to have his own equivalence class (because a mediator with many users can always replace a mediator with a few users within a trading set, but the reverse is often not true). It follows that [8]’s trade reduction procedure might remove all the trade, and thus, achieves only a trivial gain from trade approximation.

2 Notation and Basic Observations

We begin this section with a more formal presentation of our model. Our model consists of a set of users, a set of mediators and a set of advertisers. Each user has a non-negative cost which she has to be paid if she is assigned to an advertiser. The users are partitioned among the mediators, and we denote by the set of users associated with mediator (i.e., the sets form a disjoint partition of ). The utility of a mediator is the amount he is paid minus the total cost he has to forward to his assigned users; hence, if is an indicator for the event that user is assigned and is the payment received by , then the utility of is . Finally, each advertiser has a positive capacity , and she gains a non-negative value from every one of the first users assigned to her; thus, if advertiser is assigned users and has to pay then her utility is .

A mechanism for our model accepts reports from the advertisers and mediators, and based on these reports outputs an assignment of users to advertisers. In addition, the mechanism also decides how much to charge (pay) each advertiser (mediator). The objective of the mechanism is to output an assignment of users to advertisers that maximizes the gain from trade.

For ease of the presentation, it is useful to associate a set of slots with each advertiser . We then think of the users as assigned to slots instead of directly to advertisers. Formally, let be the set of all slots (i.e., ), then an assignment is a set in which no user or slot appears in more than one ordered pair. We say that an assignment assigns a user to slot if . Similarly, we say that an assignment assigns user to advertiser if there exists a slot such that . It is also useful to define values for the slots. For every slot of advertiser , we define the value of as equal to the value of . Using this notation, the gain from trade of an assignment can be stated as

In addition to the above notation, we would like to define two additional shorthands that we use occasionally. Given a set of advertisers, we denote by the set of slots belonging to advertisers of . Similarly, given a set of mediators, is the set of users associated with mediators of .

2.1 Comparison of Costs and Values

The presentation of our mechanisms is simpler when the values of slots and the costs of users are all unique. Clearly, this is extremely unrealistic as all the slots of a given advertiser have the exact same value in our model. Thus, we simulate uniqueness using a tie-breaking rule. The rule we assume works as follows:

  • The mechanism chooses an arbitrary order on the mediators and advertisers. It is important that this order is chosen independently of the reports received by the mechanism. The mechanism then uses this order to break ties when comparing users to slots and when comparing between users (slots) associated with different mediators (advertisers). For example, when comparing the cost of user with the value of a slot , the mechanism breaks ties in favor of if and only if the mediator of appears earlier than the advertiser of in .

  • We assume that the report of every mediator induces some order on the set of users of this mediators. The mechanism uses this order to break ties between the costs of users belonging to the same mediator.

  • Finally, since the slots of a given advertiser are all identical and non-strategic (recall that slots were introduced into the model just for the purpose of simplifying the presentation), any method can be used for tie-breaking between the slots of a given advertiser.

In the rest of this paper when costs/values are compared, unless it is explicitly specified that they are compared as numbers, the comparison is assumed to use the above tie breaking rule. Note that this assumption implies that two values (costs) are equal if and only if they belong to the same slot (user). We now

2.2 Canonical Assignment

Given a set of slots and a set of users, the canonical assignment is the assignment constructed by the following process. First, we order the slots of in a decreasing value order and the users of in an increasing cost order . Then, for every , the canonical assignment assigns user to slot if and only if . The canonical assignment is an important tool used frequently by the mechanisms we describe in the next sections. In some places we refer to the user or slot at location of a canonical solution . By using this expression we mean user or slot , respectively. Additionally, the term is used very often in our proofs, and thus, it is useful to define the shorthand .

The following lemma shows that the above definition of is consistent with the use of in Section 1.1 as the size of the optimal trade

3 Deterministic Mechanism

In this section we describe the deterministic mechanism “Price by Removal Mechanism” (PRM) for our model. Recall that PRM assumes public knowledge of the advertisers’ capacities. Accordingly, we assume throughout this section that the capacities of the advertisers are common knowledge (or that the advertisers are not strategic about them). We also assume that PRM has access to a value such that:

In other words, is an upper bound on how large can be the capacity of an advertiser or the number of users of a mediator. Informally, can be understood as a bound on the importance every single advertiser or mediator can have.

A description of PRM is given as Mechanism 3. Notice that Mechanism 3 often refers to parameters of the model that are not known to the mechanism (i.e., values of advertiser, the number of users of mediators and the costs of users). Whenever this happens, this should be understood as referring to the reported values of these parameters.

  \themechanism Price by Removal Mechanism (PRM)   For every mediator , if the canonical assignment is of size more than , denote by the user at location of the canonical assignment , and let be the cost of . Otherwise, set to .

1

  1. For every mediator , let be the set of users of mediator whose cost is less than . Intuitively, is the set of users of mediator that the mechanism tries to assign to advertisers.

  2. Assign the users of to the advertisers using a VCG auction. More specifically, the users of are the items sold in the auction, and the bidders are the advertisers of plus a dummy advertiser whose value and capacity are and , respectively.

  3. Charge every non-dummy advertiser by the same amount she is charged (as a bidder) by the VCG auction.

  1. For every user assigned by the VCG auction, pay to the mediator of .5

 

Remark: It can be shown that the existence of the dummy advertiser never affects the behavior of Mechanism 3, and thus, one can safely omit it from the mechanism. Nevertheless, we keep this advertiser in the above description of the mechanism since its existence simplifies our proof that the mechanism is BB.

Let us recall our result regarding PRM

4 Randomized Mechanism

In this section we describe the randomized mechanism “Threshold by Partition Mechanism” (TPM) for our model. Unlike the mechanism PRM from Section 3, TPM need not assume public knowledge about the advertisers’ capacities, i.e., the advertisers now have multi-dimensional strategy spaces. On the other hand, TPM assumes access to a value such that we are guaranteed that:

In other words, is an upper bound on how large can be the capacity of an advertiser or the number of users of a mediator compared to the size of the optimal assignment . We remind the reader that is related to the value from Section 3 by the equation , and thus, , like , can be informally understood as a bound on the importance of every single advertiser or mediator. It is important to note that is well-defined only when , and thus, we assume this inequality is true throughout the rest of the section.

A description of TPM is given as Mechanism 4. Notice that Mechanism 4 often refers to parameters of the model that are not known to the mechanism, such as the value of an advertiser or the number of users of a mediator. Whenever this happens, this should be understood as referring to the reported values of these parameters.

  \themechanism Threshold by Partition Mechanism (TPM)   Let be a set of mediators containing each mediator with probability , independently. Similarly, is a set of advertisers containing each advertiser with probability , independently. Intuitively, the subscript in and stands for “low priority”.

1

  1. Let be an arbitrary order over the advertisers that places the advertisers of after all the other advertisers and is independent of the reports received by the mechanism. Similarly, is an arbitrary order over the mediators that places the mediators of after all the other mediators and is independent of the reports received by the mechanism.

  2. Partition the mediators of into two sets and by adding each mediator with probability , independently, to and otherwise to . Similarly, partition the advertisers of into two sets and by adding each advertiser with probability , independently, to and otherwise to . The rest of the algorithm explains how to assign users of mediators from to slots of advertisers from , and how to charge advertisers of and pay mediators of . Analogous steps, which we omit, should be added for handling the advertisers of and the mediators of .

  3. Let and be the user and slot at location of the canonical solution . If , then the previous definition of and cannot be used. Instead define as a dummy user of cost and as a dummy slot of value . Using and define now two sets

    It is important to note that and are empty whenever and are dummy user and slot, respectively.

  1. While there are unassigned users in and unassigned slots in do the following:

    • Let be the earliest mediator in having unassigned users in .

    • Let be the earliest advertiser in having unassigned slots in .

    • Assign the unassigned user of with the lowest cost to an arbitrary unassigned slot of , charge a payment of to advertiser and transfer a payment of to mediator .6

 

Let us recall our result regarding TPM

5 Conclusions

We considered mechanisms for double-sided markets that interact with strategic players where at least one side of the market has players with multi-dimensional strategic spaces. In particular, we explored the question of how many sides of the market can have players with multi-dimensional strategic spaces, while still allowing for mechanisms that both maintain the desired basic economic properties (individual rationality, incentive compatibility and budget balance) and suffer only a (small) bounded loss compared to the socially optimal outcome. To answer this question we presented two mechanisms. One mechanism that is deterministic and allows one side to have players with multi-dimensional strategic spaces, and another mechanism that is randomized and allows two sides to have players with multi-dimensional strategic spaces.

Our mechanisms significantly extend the literature on trade reduction—a technique used to achieve the basic economic properties of individual rationality, incentive compatibility and budget balance in a multi-sided market. While all the previous trade reduction solutions dealt with players having single dimensional strategic spaces, our deterministic algorithm performs a non-binary trade reduction which leads to the first trade reduction solution applying to multi-dimensional strategic spaces. As given, this deterministic trade reduction solution deals with two sides: advertisers and mediators; however, we believe that our ideas are more general, and we currently work on extending the mechanism in order to handle more market sides.

From a more practical point of view, our study is motivated by a foreseeable future form of online advertising in which users are incentivized to share their information via participation in a mediated online advertising exchange. Our model captures some of the challenges introduced by such exchanges, but does not encompass their online nature. In this sense our results in this paper can be seen as a step towards the study of a more realistic model which also captures the online nature of ad exchanges.

Footnotes

  1. This work is supported by the Horizon 2020 funded project TYPES (Project number: 653449. Call Identifier H2020-DS-2014-1).
  2. We often refer to players with a multi-dimensional strategic space as multi-dimensional players.
  3. Here and throughout the paper, a reference to domination of strategies should be understood as a reference to weak domination. We never refer to strong domination.
  4. The parameters and both bound the maximum capacity of the players. Moreover, they are formally related by the formula . We chose to formulate Theorems 1.1 and 1.2 in terms of the parameter that the mechanism corresponding to each theorem assumes access to.
  5. Note that is BB as he forwards to each of his assigned users her cost—which is less than .
  6. Note that is paid for the assignment of each one of his users. Hence, is always BB since the membership of in implies (and when the costs are compared as numbers).

References

  1. Itai Ashlagi, Dov Monderer, and Moshe Tennenholtz. Mediators in position auctions. Games and Economic Behavior, 67:2–21, 2009.
  2. M. Babaioff and W. E. Walsh. Incentive-compatible, budget-balanced, yet highly efficient auctions for supply chain formation. In EC, 2003.
  3. Moshe Babaioff, Noam Nisan, and Elan Pavlov. Mechanisms for a spatially distributed market. Games and Economic Behavior, 66(2):660–684, 2009.
  4. L. Blume, D. Easley, J. Kleinberg, and E. Tardos. Trading networks with price-setting agents. In EC, pages 13–16, 2007.
  5. B. Chaib-draa and J. P. Muller. Multiagent-based supply chain management. Berlin: Springer Verlang, 2006.
  6. E. H. Clarke. Multipart pricing of public goods. Public Choice, 2:17–33, 1971.
  7. Jon Feldman, Vahab S. Mirrokni, S. Muthukrishnan, and Mallesh M. Pai. Auctions with intermediaries: extended abstract. In EC, pages 23–32, 2010.
  8. Mira Gonen, Rica Gonen, and Elan Pavlov. Generalized trade reduction mechanisms. In EC, pages 20–29, 2007.
  9. T. Groves. Incentives in teams. Econometrica, 41:617–631, 1973.
  10. R. P. McAfee. dominant strategy double auction. Journal of Economic Theory, 56:434–450, 1992.
  11. R. B. Myerson and M. A. Satterthwaite. Efficient mechanisms for bilateral trading. Journal of Economic Theory, 29:265–281, 1983.
  12. R. Roundy, R. Chen, G. Janakriraman, and R. Q. Zhang. Efficient auction mechanisms for supply chain procurement. School of Operations Research and Industrial Engineering, Cornell University, 2001.
  13. Erel Segal-Halevi, Avinatan Hassidim, and Yonatan Aumann. SBBA: A strongly-budget-balanced double-auction mechanism. In SAGT, pages 260–272, 2016.
  14. Lampros C. Stavrogiannis, Enrico H. Gerding, and Maria Polukarov. Auction mechanisms for demand-side intermediaries in online advertising exchanges. In AAMAS, pages 5–9, 2014.
  15. W. Vickrey. Counterspeculation, auctions and competitive sealed tenders. Journal of Finance, 16:8–37, 1961.
104164
This is a comment super asjknd jkasnjk adsnkj
Upvote
Downvote
Edit
-  
Unpublish
""
The feedback must be of minumum 40 characters
The feedback must be of minumum 40 characters
Submit
Cancel
Comments 0
Request answer
""
The feedback must be of minumum 40 characters
Add comment
Cancel
Loading ...