Take the 2-minute tour ×
Theoretical Computer Science Stack Exchange is a question and answer site for theoretical computer scientists and researchers in related fields. It's 100% free, no registration required.

Wikipedia only lists two problems under "unsolved problems in computer science":

What are other major problems that should be added to this list?

Rules:

  1. Only one problem per answer
  2. Provide a brief description and any relevant links
share|improve this question
4  
The focus of the question on "what should we add to Wikipedia" seems reasonable. –  András Salamon Aug 17 '10 at 17:31
2  
One unsolved problem per answer, please; then we can easily rank the answers by voting up/down! –  Jukka Suomela Aug 17 '10 at 19:36
12  
Why only complexity results? There's more to TCS than complexity! No open problems in type theory? programming languages? –  Jacques Carette Aug 17 '10 at 21:44
3  
add them in, Jacques :). –  Suresh Venkat Aug 18 '10 at 5:05
6  
I think we should distinguish between major open problems that are viewed as fundamental problems, like $ P\neq NP $, and major open problems which will constitute a technical breakthrough, if solved, but are not necessarily as fundamental, e.g., exponential lower bounds on $ AC^0(6) $ circuits (i.e., $ AC^0+\mod 6 $ gates). So we should possibly open a new community wiki entitled "open problems in the frontiers of TCS", or the like. –  Iddo Tzameret Aug 19 '10 at 22:18
show 12 more comments

58 Answers 58

Can multiplication of $n$ by $n$ matrices be done in $O(n^2)$ operations?

The exponent of the best known upper bound even has a special symbol, $\omega$. Currently $\omega$ is approximately 2.376, by the Coppersmith-Winograd algorithm. A nice overview of the state of the art is Sara Robinson, Toward an Optimal Algorithm for Matrix Multiplication, SIAM News, 38(9), 2005.

Update: Andrew Stothers (in his 2010 thesis) showed that $\omega < 2.3737$, which was improved by Virginia Vassilevska Williams (in a Nov 2011 preprint) to $\omega < 2.3729$. These bounds are both obtained by a careful analysis of the basic Coppersmith-Winograd technique.

Further Update (Jan 30, 2014): François Le Gall has a new arXiv preprint that claims an improvement to $\omega < 2.3728639$.

share|improve this answer
7  
The matrix multiplication exponent is defined to be the smallest real number $\omega$ such that $O(n^{\omega+\epsilon})$ arithmetic operations suffice for all $\epsilon>0$. Probably a factor like $\log n$ should be expected. –  Zeyu Nov 13 '10 at 2:39
2  
Just adding for the sake of completeness wrt current knowledge that CW bound was bettered a few days ago by Virginia Williams. And as noted by many others in the community, Andrew Stothers had obtained his bound beating CW's around one year before Virginia. The current record is $O(n^{2.373})$ –  Akash Kumar Dec 8 '11 at 22:27
show 5 more comments

Is Graph Isomorphism in P?

The complexity of Graph Isomorphism (GI) has been an open question for several decades. Stephen Cook mentioned it in his 1971 paper on NP-completeness of SAT.

Determining whether two graphs are isomorphic can usually be done quickly, for instance by software such as nauty and saucy. On the other hand, Miyazaki constructed classes of instances for which nauty provably requires exponential time.

Read and Corneil reviewed the many attempts to tackle the complexity of GI up to that point: The Graph Isomorphism Disease, Journal of Graph Theory 1, 339–363, 1977.

GI is not known to be in co-NP, but there is a simple randomized protocol for Graph Non-Isomorphism (GNI). So GI (= co-GNI) is therefore believed to be "close to" NP ${}\cap{}$ co-NP.

On the other hand, if GI is NP-complete, then the Polynomial Hierarchy collapses. So GI is unlikely to be NP-complete. (Boppana, Håstad, Zachos, Does co-NP Have Short Interactive Proofs?, IPL 25, 127–132, 1987)

Shiva Kintali has a nice discussion of the complexity of GI at his blog.

share|improve this answer
show 3 more comments

P = BPP?

share|improve this answer
2  
This answer should be made CW now too... –  Shane Aug 17 '10 at 17:38
2  
and related questions like is NP = MA = AM? –  Robin Kothari Aug 18 '10 at 5:08
1  
See the closely related question cstheory.stackexchange.com/questions/64/… –  András Salamon Aug 19 '10 at 1:54
add comment

Is there a pivoting rule for the simplex algorithm that yields worst-case polynomial running time? More generally, is there any strongly polynomial algorithm for linear programming?

share|improve this answer
10  
I'll add to this question: would showing the nonexistence of strongly polynomial LP imply any class separation results? –  Anand Kulkarni Aug 27 '10 at 23:59
4  
In 2011, Oliver Friedmann showed exponential lower bounds for many pivoting rules (he actually claims "essentially all natural" pivoting rules, including Random Facet and Random Edge). These bounds apply when solving a linear program derived from 2-player parity games. Friedmann's thesis edoc.ub.uni-muenchen.de/13294 surveys the history in some depth (including various forms of the Hirsch Conjecture, and the 2010 counterexample to the strong form by Francisco Santos). –  András Salamon Jan 30 '12 at 16:11
show 1 more comment

The exponential-time hypothesis (ETH) asserts that solving SAT requires exponential, 2Ω(n) time. ETH implies many things, for instance that SAT is not in P, so ETH implies P ≠ NP. See Impagliazzo, Paturi, Zane, Which Problems Have Strongly Exponential Complexity?, JCSS 63, 512–530, 2001.

ETH is widely believed, but likely to be difficult to prove, as it implies many other complexity class separations.

share|improve this answer
4  
Seriously, I wouldn't call the ETH a major open problem at this point in time exactly because it implies P≠NP and thus is at least as difficult to prove. –  Holger Aug 23 '10 at 9:16
14  
No? IMHO, your argument implies that ETH is even more of a major open problem than PvsNP. –  JɛffE Aug 24 '10 at 6:05
12  
If $NP = PTIME(n^{\log n})$, then $P\ne NP$, but ETH is false. –  JɛffE Aug 31 '10 at 15:30
3  
Ah ok. But you mean DTIME($n^{\log n}$)? –  Emil Sep 1 '10 at 14:03
show 1 more comment

Is the unique games conjecture true?
And: Given that there are sub-exponential time approximation algorithms for Unique Games, where does the problem ultimately rest in terms of the complexity landscape?

share|improve this answer
2  
In retrospect, I thought I should include a pointer toward this pre-print. In my opinion, it's as big of a development as the paper I have linked in the answer. –  Daniel Apon Aug 31 '10 at 11:09
show 2 more comments

Immerman and Vardi show that fixed-point logic captures PTIME on the class of ordered structures. One of the biggest open problems in descriptive complexity theory is whether the dependency on the order can be removed:

Is there a logic that captures PTIME?

Put simply, a logic capturing PTIME is a programming language for graph problems that works directly on the graph structure and does not have access to the encoding of the vertices and edges, such that the following hold:

  1. any syntactically correct program models a polynomial-time computable graph problem and
  2. any polynomial-time computable graph problem can be modelled by a syntactically correct program.

If there is no logic that captures PTIME, then $P \neq NP$ since NP is captured by existential second-order logic. A logic capturing PTIME would provide a possible attack to P vs NP.

See Lipton's blog for an informal discussion and M. Grohe: The Quest for a Logic Capturing PTIME (LICS 2008) for a more technical survey.

share|improve this answer
3  
Immerman-Vardi shows FO(LFP) captures logic on <i>ordered</i> structures, so this is a question about capturing PTIME on arbitrary finite models, I take it. If I understand you correctly, isn't this question a translation of asking whether P != NP? It might be more pointed to ask one or more of the open problems in the survey you link to. Apologies if I am being clueless here. –  Aaron Sterling Aug 18 '10 at 12:26
4  
Thanks, I edited the answer to mention Immerman-Vardi for clarification. No, this open problem is not known to be equivalent to P vs NP. The open problems in the survey are special cases of the big open problem and not appropriate in this thread. Maybe this reference is also helpful: rjlipton.wordpress.com/2010/04/05/… –  Holger Aug 18 '10 at 16:25
add comment

Permanent versus Determinant

The permanent versus determinant question is interesting because of two facts. First, the permanent of a matrix counts the number of perfect matchings in a bipartite graph. Therefore the permanent of such a matrix is #P-Complete. At the same time, the definition of the permanent is very close that of the determinant, ultimately different only because of a simple sign change. Determinant calculations are well known to be in P. Studying the different between the permanent and the determinant, and how many determinant calculations are required to compute the permanent speak about P versus #P.

share|improve this answer
3  
To me this doesn't qualify as a "major open problem", because the actual complexity theoretic question (do they have different complexities) is subsumed by P=NP (since #P is a superset of NP) and with that question set aside there isn't a concrete problem posed here. –  David Eppstein Dec 9 '11 at 0:59
6  
@DavidEppstein: Per v. det is closer to GapP v GapL, a counting analog of NP v NL. It's possible that $NL \neq P=NP$ and hence $GapP \neq GapL$. Also, per v det is much older than P v NP, essentially going back to [Polya 1913], in which he shows that one cannot affix signs to a matrix to change its permanent to its determinant (except 2x2). Valiant introduced a variant on those questions (allowing size of det to be larger than n) because of its significance in complexity, but even the pre-Valiant works give the motivation "because the permanent is so hard to compute..." (eg Gibson 1971) –  Joshua Grochow Mar 2 '12 at 17:38
show 2 more comments

Can we compute the FFT in much less than $O(n \log n)$ time?

In the same (very) general vein, there are many questions of improving the run-times of many classical problems or algorithms: e.g., can all-pairs-shortest-paths (APSP) be solved in $O(n^{3-\epsilon})$ time ?

share|improve this answer
2  
An interesting development on FFT: "* An O(k log n)-time algorithm for the case where the input signal has at most k non-zero Fourier coefficients, and * An O(k log n log(n/k))-time algorithm for general input signals." source: arxiv.org/abs/1201.2501v1 –  Shadok Feb 2 '12 at 16:20
show 1 more comment

The dynamic optimality conjecture for splay trees.

Or more generally: Is any online dynamic binary search tree O(1)-competitive?

share|improve this answer
show 2 more comments

NP versus co-NP

The NP versus co-NP question is interesting because NP ≠ co-NP implies P ≠ NP (as P is closed under complement). It also relates to "duality": separation between finding/verifying examples and finding/verifying counterexamples. In fact, proving that a question is in both NP and co-NP is our first good evidence that a problem that seems to be outside of P is also likely not NP-Complete.

share|improve this answer
7  
This is also related to propositional proof complexity. There is a polynomial propositional proof system iff $NP$ is equal to $coNP$. –  Kaveh Aug 17 '10 at 22:01
add comment

Arguably the major open problem of proof complexity: demonstrate super-polynomial size lower bounds on propositional proofs (called also Frege proofs).

Informally, a Frege proof system is just a standard propositional proof system for proving propositional tautologies (one learns in a basic logic course), having axioms and deduction rules, where proof-lines are written as formulas. The size of a Frege proof is the number of symbols it takes to write down the proof.

The problem then asks whether there is a family $(F_n)_{n=1}^\infty$ of propositional tautological formulas for which there is no polynomial $ p $ such that the minimal Frege proof size of $ F_n $ is at most $ p(|F_n|)$, for all $ n=1,2,\ldots$ (where $ |F_n| $ denotes the size of the formula $ F_n $).


Formal definition of a Frege proof system

Definition (Frege rule) A Frege rule is a sequence of propositional formulas $ A_0(\overline x),\ldots,A_k(\overline x) $, for $ k \le 0 $, written as $ \frac{A_1(\overline x), \ldots,A_k(\overline x)}{A_0(\overline x)}$. In case $ k = 0 $, the Frege rule is called an axiom scheme. A formula $ F_0 $ is said to be derived by the rule from $ F_1,\ldots,F_k $ if $ F_0,\ldots,F_k $ are all substitution instances of $ A_1,\ldots,A_k $, for some assignment to the $ \overline x $ variables (that is, there are formulas $B_1,\ldots,B_n $ such that $F_i = A_i(B_1/x_1,\ldots,B_n/x_n), $ for all $ i=0,\ldots,k $. The Frege rule is said to be sound if whenever an assignment satisfies the formulas in the upper side $A_1,\ldots,A_k $, then it also satisfies the formula in the lower side $ A_0 $.

Definition (Frege proof) Given a set of Frege rules, a Frege proof is a sequence of formulas such that every proof-line is either an axiom or was derived by one of the given Frege rules from previous proof-lines. If the sequence terminates with the formula $ A $, then the proof is said to be a proof of $ A $. The size of a Frege proof is the the total sizes of all the formulas in the proof.

A proof system is said to be implicationally complete if for all set of formulas $ T $, if $ T $ semantically implies $ F $, then there is a proof of $ F $ using (possibly) axioms from $ T $. A proof system is said to be sound if it admits proofs of only tautologies (when not using auxiliary axioms, like in the $ T $ above).

Definition (Frege proof system) Given a propositional language and a set $ P $ of sound Frege rules, we say that $ P $ is a Frege proof system if $ P $ is implicationally complete.

Note that a Frege proof is always sound since the Frege rules are assumed to be sound. We do not need to work with a specific Frege proof system, since a basic result in proof complexity states that every two Frege proof systems, even over different languages, are polynomially equivalent [Reckhow, PhD thesis, University of Toronto, 1976].


Establishing lower bounds on Frege proofs could be viewed as a step towards proving $NP \neq coNP$, since if this is true then no propositional proof system (including Frege) can have polynomial size proofs for all tautologies.

share|improve this answer
add comment

Are there problems that cannot be solved efficiently by parallel computers?

Problems that are P-complete are not known to be parallelizable. P-complete problems include Horn-SAT and Linear Programming. But proving that this is the case would require separating some notion of parallelizable problems (such as NC or LOGCFL) from P.

Computer processor designs are increasing the number of processing units, in the hope that this will yield improved performance. If fundamental algorithms such as Linear Programming are inherently not parallelizable, then there are significant consequences.

share|improve this answer
14  
I'm pretty sure that LP algorithms, as they stand today, are not parallelizable. I believe they fit into Mulmuley's RAM-without-bit-operations model. In dx.doi.org/10.1137/S0097539794282930 K. Mulmuley. Lower Bounds in a Parallel Model without Bit Operations. SIAM J. Comput. 28 (4), 1460-1509 (1999) he shows that $P \neq NC$ in that model, showing that many natural (usually numerical) algorithms for $P$-complete problems are not parallelizable. This does not answer the question in the boolean case, but it does answer it for a large class of natural algorithms. –  Joshua Grochow Aug 24 '10 at 6:33
add comment

BQP = P?

Also: NP contained in BQP?

I know this violated the rules by having two questions in the answer, but when taken with the P vs NP question, they are not necessarily independent questions.

share|improve this answer
add comment

Can we compute the edit distance between two strings of length $n$ in sub-quadratic time, i.e., in time $O(n^{2-\epsilon})$ for some $\epsilon>0$ ?

share|improve this answer
8  
Do you have references for that? I actually thought that this proposition was trivially false although I can’t think of a proof off the top of my head. (Although I’m aware that the runtime can be made dependent on the number of errors.) –  Konrad Rudolph Sep 11 '10 at 12:00
add comment

Since I know computational geometry professors have answers here/visit this site and not mentioned this, I am not sure, but the existence/non-existence of deterministic (or randomized) sub-quadratic algorithms for 3SUM Hard Problems seems to be still open.

share|improve this answer
8  
Good question. However, the existence of sub-quadratic algorithms for the 3SUM problem is wide open even for randomized algorithms. Of course, deterministic algorithm would have been even nicer.. –  Piotr Aug 25 '10 at 19:36
2  
In the quantum case, there are known matching n log(n) lower and upper bounds for 3SUM: Andrej Dubrovsky, Oksana Scegulnaja-Dubrovska Improved Quantum Lower Bounds for 3-Sum Problem. Proceedings of Baltic DB&IS 2004, vol. 2, Riga, Latvia, pp.40-45. –  Martin Schwarz Aug 25 '10 at 20:34
1  
I was under the impression that we do not have n^2 lower bound for any problem in NP. –  Sariel Har-Peled Nov 10 '11 at 4:40
1  
I had the distinct impression that if you are restricted to decision problems (no output arguments), then nothing is known. But you should really ask a complexity person. –  Sariel Har-Peled Dec 1 '12 at 5:42
2  
A recent arXiv paper claims to have settled this conjecture by giving sub-quadratic algorithms for 3-SUM. –  Mangara Jul 7 at 17:33
show 3 more comments
  1. Isomorphism Conjecture. (Are all NP-complete problems the "same" problem?)
  2. Can cryptography be based upon an NP-complete problem?

  3. and, a little further away from the mainstream:

  4. What is the size of NP within EXP?

(Informally, if you have all problems in EXP on a table, and you pick one up uniformly at random, what is the probability that the problem you chose is also in NP? This question has been formalized by the notion of resource-bounded measure. It is known that P has measure zero within EXP, i.e., the problem you picked up from the table is almost surely not in P.)

share|improve this answer
2  
P-measure is one example of resource-bounded measure: more generally, you can imagine a machine trying to predict a sequence, and the computational resources it has available to do so are what provides the resource-bound on the measure. I used p-measure in my informal explanation of EXP on a table. For further reading, I recommend the journal version of the following survey by Lutz (the CZ cites the conference version of this survey). cs.iastate.edu/~lutz/=PAPERS/qset.ps (in postscript, I hope that's ok) –  Aaron Sterling Aug 17 '10 at 18:02
2  
Yes to your first question. P has measure 0 in EXP, so if NP does not, you get P != NP immediately. For the second question, I suggest you read the last paragraph of page 28 in the survey Andras and I linked to. (Not enough space in the comment to paste it here, sorry.) Basically, if NP has measure zero, there exists an feasible algorithm that could guess membership in an NP-hard problem "unreasonably" well. So it seems likely that NP is not measure zero within EXP. –  Aaron Sterling Aug 18 '10 at 2:24
1  
@Artem: you could start here: blog.computationalcomplexity.org/2003/03/… –  Aaron Sterling Aug 16 '11 at 11:15
show 6 more comments

Separate NEXP from BPP. People tend to believe BPP=P, but no one can separate NEXP from BPP.

share|improve this answer
add comment

What is the approximability of Metric TSP? Christofides' Algorithm from 1975 is a polynomial-time (3/2)-approximation algorithm. Is it NP-hard to do better?

  • Approximating Metric TSP to within a factor smaller than 220/219 is NP-hard (Papadimitriou and Vempala, 2006 [PS]). To my knowledge this is the best known lower bound.

  • There is some evidence suggesting that the actual bound may be 4/3 (Carr and Vempala, 2004 [Free version] [Good version]).

  • The upper bound on approximability was recently lowered to $13/9$ (Mucha 2011 "13/9 -approximation for Graphic TSP" [PDF])

share|improve this answer
1  
Metric TSP recently done by 3/2 - e where e is constant (near 0.002) –  Saeed Jun 2 '11 at 18:34
1  
some discussion of metric TSP on Godel's lost letter –  Artem Kaznatcheev Jan 26 '12 at 23:42
2  
@Saeed, did you mean the algorithm only for the special case of Metric TSP: for Graphic TSP? Then it was improved to 13/9 by Mucha. It seems that 3/2 is the best known upper bound for Metric TSP. –  Alex Golovnev May 17 '12 at 11:50
show 1 more comment

What is the query complexity of testing triangle-freeness in dense graphs (i.e., distinguishing triangle-free graphs from those $\epsilon$-far from being triangle-free)? The known upper bound is a tower of exponentials in $1/\epsilon$, while the known lower bound is only mildly superpolynomial in $1/\epsilon$. This is a pretty basic question in extremal graph theory/additive combinatorics that has been open for nearly 30 years.

share|improve this answer
add comment

I know the OP asked for only one problem per post, but the RTA (Rewriting Techniques and their Applications) 1 and TLCA (Typed Lambda Calculi and their Applications) conferences both maintain lists of open problems in their fields 2. These lists are quite useful, as they also include pointers to previous work done on attempting to solve these problems.

share|improve this answer
3  
These are excellent lists. Thanks! –  sclv Aug 25 '10 at 17:28
1  
No problem. Does anybody know of any other similar lists from other conferences? They're quite interesting to read. –  Dominic Mulligan Aug 25 '10 at 20:57
add comment

Is there a Quantum PCP theorem?

share|improve this answer
show 1 more comment

Parity games are two-player infinite-duration graph games, whose natural decision problem is in NP and co-NP, and whose natural search problem in PPAD and PLS.

http://en.wikipedia.org/wiki/Parity_game

Can parity games be solved in polynomial time?

(More generally, a long-standing major open question in mathematical programming is whether P-matrix Linear Complementarity Problems can be solved in polynomial time?)

share|improve this answer
add comment

Give an explicit function with exponential circuit complexity.

Shannon proved in 1949 that if you pick a boolean function at random, it has exponential circuit complexity with probability almost one. In comparison, the best lower bound we have for an explicit boolean function $f:\{0,1\}^n \rightarrow \{0,1\}$ is $5n - o(n)$ (K.Iwama, O.Lachish, H.Morizumi, R.Raz).

share|improve this answer
8  
This way of stating the problem always bugs me, because you have to be careful about what you mean by "explicit". It is easy to write down a description of a function that has exponential circuit complexity. If "explicit" means "computable in exponential time or less", then I agree, this is a major open problem. –  Ryan Williams Sep 13 '10 at 17:12
2  
The argument is detailed in the following lecture notes: math.tau.ac.il/~zwick/scribe-boolean.html –  Marc Nov 16 '10 at 19:19
show 2 more comments

Derandomization of the Polynomial Identity Testing problem

The problem is the following: Given an arithmetic circuit computing a polynomial $P$, is $P$ identically zero?

This problem can be solved in randomized polynomial time but is not known to be solvable in deterministic polynomial time.

Related is Shub and Smale's $\tau$ conjecture. Given a polynomial $P$, we define its $\tau$-complexity $\tau(P)$ as the size of the smallest arithmetic circuit computing $P$ using the sole constant $1$. For a univariate polynomial $P\in\mathbb Z[x]$, let $z(P)$ be its number of real roots.

Prove that there exists a universal constant $c$ such that for every $P\in\mathbb Z[x]$, $z(P)\le (1+\tau(P))^c$.

share|improve this answer
add comment

Sensitivity versus block sensitivity

Boolean sensitivity is interesting because block sensitivity, a close relative, is polynomially related to several other important and interesting complexity measures (like the certificate complexity of a boolean function). If sensitivity is always related to block sensitivity in a polynomial way, we have an extremely simple characteristic of boolean function that's related to so many others.

One might read Rubinstein's "Sensitivity vs. block sensitivity of Boolean functions" or Kenyon and Kutin's "Sensitivity, block sensitivity, and l-block sensitivity of boolean functions."

share|improve this answer
show 1 more comment

There are a lot of open problems in lambda calculi (typed and untyped). See the TLCA list of open problems for details; there is also a nice PDF version without the frames.

I particularly like problem #5:

Are there terms untypable in $F_ω$ but typable with help of positive recursive types?

share|improve this answer
2  
Thanks to Dominic Mulligan for pointing me to this particular list of problems. –  Jacques Carette Aug 30 '10 at 21:20
add comment

The area of parameterized complexity has its own load of open problems.

Consider the decision problems

  • given $(G,k)$ does there exist a vertex cover of size $k$ for the graph $G$?
  • given $(F,k)$ does there exist a satisfying assignment of weight $k$ for the formula $F$?
  • given $(G,k)$ does there exist a clique of size $k$ in a graph $G$?
  • etc...

Many, MANY, combinatorial problems exist in this form. Parameterized complexity consider an algorithm to be "efficient" if its running time is upper bounded by $f(k)n^c$ where $f$ is an arbitrary function and $c$ is a constant independent of $k$. In comparison notice that all such problems can be easily solved in $n^{O(k)}$.

This framework models the cases in which we are looking for a small combinatorial structure and we can afford exponential run-time with respect to the size of the solution/witness.

A problem with such an algorithm (e.g. vertex cover) is called Fixed Parameter Tractable (FPT).

Parameterized complexity is a mature theory and has both strong theoretical foundations and appeal for practical applications. Decision problems interesting for such theory form a very well structured hierarchy of classes with natural complete problems:

$$ FPT \subseteq W[1] \subseteq W[2] \subseteq \ldots \subseteq W[i] \subseteq W[i+1] \subseteq \ldots W[P] $$

Of course it is open if any of such inclusion is strict or not. Notice that if $FPT=W[1]$ then SAT has subexponential algorithm (this is non trivial). Last statement connects prameterized complexity with $ETH$ mentioned above.

Also notice that investigating such collapses is not an empty exercise: proving that $W[1]=FPT$ is equivalent to prove that there is a fixed parameter tractable algorithm for finding $k$-cliques.

share|improve this answer
add comment

protected by Kaveh Mar 15 '12 at 23:07

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.