alphaFeedback

WorksComputer Science

Subexponential Weighted Counting and Exact Optimisation

AI contributions
  • Claude · Anthropic
View details
Ancillary data
2 code links
View

Abstract

The deterministic algorithm of \oai{} that counts the satisfying assignments of a kk-CNF in time 2o(n)2^{o(n)} is reproduced in full and extended from counting to sums of local weights with values in any commutative \Q-algebra. The extension gives deterministic 2o(n)2^{o(n)} algorithms for exact Max-Cut and Max-kk-SAT on sparse instances, for the independence polynomial, the maximum independent set and the knapsack problem with a conflict graph on every graph, for 00-11 integer programs whose rows involve boundedly many variables, for Vertex Cover in time 2^{o(k)}+\poly(n), for the density of states of Ising and Potts models on bounded-degree graphs, for the Tutte polynomial on the hyperbolas (x−1)(y−1)=q(x-1)(y-1)=q, for the minimum distance and the maximum-likelihood decoding of codes with sparse parity checks, for Max-Cut and Max-kk-SAT at every average degree o(log⁡n/log⁡log⁡n)o(\sqrt{\log n/\log\log n}), for Max-Cut on dense graphs close to blow-ups of graphs with o(n/log⁡n)o(n/\log n) vertices, and for every problem in \SNP.

Introduction

The theorem of OpenAI

On 25 October 2026 OpenAI released a preprint [27] with a deterministic algorithm that, for every fixed k≥2k \ge2, counts the satisfying assignments of a kk-CNF formula with nn variables and mm clauses in time

(n+m)Ok(1)2Ok(nlog⁡log⁡n/log⁡n)(1)(n+m)^{O_k(1)}2^{O_k(n\log\log n/\sqrt{\log n})} \tag*{(1)}

and polynomial space. Since 2O(nlog⁡log⁡n/log⁡n)=2o(n)2^{O(n\log\log n/\sqrt{\log n})}=2^{o(n)}, the exponential time hypothesis of Impagliazzo and Paturi [20], which asserted that 3-SAT needs time 2Ω(n)2^{\Omega(n)}, is false, and with it the strong hypothesis [21], the counting hypothesis #ETH [14], and the gap and nondeterministic variants. The algorithm is algebraic. It writes the count as a sum over the Boolean cube of a product of local polynomials, replaces every variable occurrence by a linear form in a parameter TT chosen so that at each of QQ sample points the factors separate into rr groups after a short list of integer measurements of the assignment has been fixed, recovers the Taylor coefficients of the resulting univariate polynomial at the sample points from Boolean substitutions, and interpolates back to T=0T=0. The present paper owes its existence to that preprint, and every step of the algorithm that is used below is OpenAI’s.1

What this paper adds

The counting routine of [27] is stated there for factors with rational coefficients, with the remark that it works over any commutative Q\mathbb{Q}-algebra. We take that remark seriously and run the algorithm over truncated polynomial rings Q[W]/(WN)\mathbb{Q}[W]/(W^N). A factor may then be Ww(x)W^{w(x)} for an integer weight function ww of a few variables, and the sum over the cube becomes a generating polynomial: its coefficient of WjWj counts the assignments of total weight jj. One number has turned into a profile, and the profile contains an optimum. The cost of the change is nil in the exponent, and polynomial in NN elsewhere.

The technical statement is Theorem 5.3: for fixed kk and cc, a system of at most cncn factors, each depending on at most kk of the nn Boolean variables and taking values in a commutative Q\mathbb{Q}-algebra AA, is summed over {0,1}n\{0,1\}^{n} in

2Ok,c(ρ(n))poly⁡(n) operations in A,ρ(n)=n(log⁡log⁡n)2log⁡n.(2)2^{O_{k,c}(\rho(n))}\operatorname{poly}(n)\ \text{operations in }A,\qquad\rho(n)=\frac{n(\log\log n)^2}{\sqrt{\log n}}. \tag*{(2)}

The exponent is the one OpenAI obtain in their § 3–6 before the refinement that removes one logarithmic factor; we do not reproduce that refinement, because none of the consequences below needs it.

From Theorem 5.3 we deduce, with complete proofs:

  • (i) for every fixed kk and cc, the profile of a constraint satisfaction instance with nn Boolean variables and at most cncn constraints of arity at most kk, that is the number of assignments satisfying exactly jj constraints for every jj, in time 2Ok,c(ρ(n))2^{O_{k,c}(\rho(n))} (Theorem 6.1); in particular the exact optimum of Max-kk-SAT and of Max-Cut on sparse instances, together with the number of optimal solutions (Corollaries 6.2 and 6.4);

  • (ii) the independence polynomial of every graph on nn vertices, hence its independence number, clique number, vertex cover number and the number of maximum independent sets, in time 2O(n(log⁡log⁡n)2/(log⁡n)1/4)2^{O(n(\log\log n)^2/(\log n)^{1/4})} (Theorem 6.7); the proof combines Theorem 5.3 with a branching rule on vertices of large degree whose cost we bound explicitly; the same branching carries any fixed number of vertex weights at once, which solves the knapsack problem with an arbitrary conflict graph and polynomially bounded weights, and its multidimensional form, exactly (Theorem 6.10, Corollary 6.11);

  • (iii) Vertex Cover with parameter kk in time 2O(k(log⁡log⁡k)2/(log⁡k)1/4)+poly⁡(n)2^{O(k(\log\log k)^2/(\log k)^{1/4})}+\operatorname{poly}(n), that is 2o(k)2^{o(k)} up to a polynomial, through the kernel of Nemhauser and Trotter (Theorem 6.13); the lower bound 2Ω(k)2^{\Omega(k)}, which was a standard consequence of the exponential time hypothesis [9 Theorem 14.6], therefore fails;

  • (iv) for every fixed Δ\Delta, the density of states of the Ising model with integer couplings and fields, and of the qq-state Potts model, on graphs of maximum degree Δ\Delta with nn vertices, in time OΔ,q(ρ(n))O_{\Delta,q}(\rho(n)) (Theorem 6.18); every partition function and every ground state follows;

  • (v) the minimum dominating set and the matching polynomial of a bounded-degree graph, the permanent of a sparse integer matrix, and the minimum hitting set and the maximum split of a sparse set system with sets of bounded size, in time 2O(ρ(n))2^{O(\rho(n))} (Theorems 6.20 and 6.21);

  • (vi) for fixed domain size and arity, every sparse constraint system over a finite domain, hence every partition function ZA(G)Z_A(G) of a fixed symmetric rational matrix AA and the number of homomorphisms into a fixed graph, on bounded-degree graphs, in time 2O(ρ(n))2^{O(\rho(n))} (Theorem 6.15, Corollary 6.16);

  • (vii) the satisfying assignments of a sparse kk-CNF formula of each Hamming weight, and those whose weight lies in a prescribed residue class, in time 2O(ρ(n))2^{O(\rho(n))} (Corollary 6.3, Proposition 6.23);

  • (viii) further families worked out in § 7: several linear statistics of the solutions of a sparse constraint system at once, with equations and congruences imposed (Theorem 7.1); Max-kk-Lin modulo pp, Max-qq-Cut and balanced qq-partitions (Corollary 7.4); on bounded-degree graphs, ff-factors, even and odd subgraphs, orientations with prescribed indegrees, proper edge colourings and nowhere-zero flows by weight (Theorem 7.5), and the Tutte polynomial on every hyperbola (x−1)(y−1)=q(x-1)(y-1)=q with qq a positive integer, which contains

the chromatic and flow polynomials at qq and the qq-state Potts model (Theorem 7.10); the weight enumerator, the minimum distance and maximum-likelihood decoding of a binary code with sparse parity checks (Theorem 7.12); matchings, transversals and colourings of bounded-degree hypergraphs (Theorem 7.14); the weighted output profile of a linear-size circuit of bounded fan-in (Theorem 7.15); and the optimum and the number of optimal solutions of a 0-1 or bounded integer program with O(n)O(n) rows, each involving a bounded number of variables with coefficients of any size, and a fixed number of further dense rows with polynomially bounded coefficients, which contains exact cover with bounded element frequency and the partially ordered knapsack problem (Theorem 7.17, Corollary 7.18), all in time 2O(ρ(n))2^{O(\rho(n))};

(ix) the same for systems whose density grows with nn: with parameters that follow the ratio cc of factors to variables, the exponent is O(ng(θ))O(n g(\theta)) with θ=cklog⁡log⁡n/log⁡n\theta= c_k\sqrt{\log\log n}/\log n and g(x)=xlog⁡3/2(1/x)g(x) = x\log^{3/2}(1/x) (Theorems 7.19 and 7.20), so that the maximum cut, the maximum bisection and the Ising and Potts ground states of a graph of average degree d(n)d(n), the exact optimum of Max-kk-SAT with d(n)nd(n)n clauses and that of an integer program with d(n)nd(n)n sparse rows are found in time 2o(n)2^{o(n)} whenever d(n)=o(log⁡n/log⁡log⁡n)d(n) = o(\sqrt{\log n/\log\log n}) (Corollaries 7.21 and 7.26); and, through the complement, the cut profile of every graph whose complement has that many edges, a class that contains graphs with Θ(n2)\Theta(n^2) edges (Corollary 7.22), and more generally the cut profile of every graph that differs in that many pairs from a blow-up of a graph on o(n/log⁡n)o(n/\log n) vertices, or from a weighted graph whose weights are a quadratic form in ss vertex weights with slog⁡(nΩ)=o(n)s\log(n\Omega) = o(n) (Theorem 7.23 and Corollary 7.24); a count shows that these classes contain almost no graphs (Remark 7.25);

(x) kk-SAT lies in the class SE of problems solvable in time 2εn2^{\varepsilon n} poly for every ε>0\varepsilon> 0, by the sparsification lemma of Impagliazzo, Paturi and Zane [21], and therefore every problem of the class SNP of Papadimitriou and Yannakakis [29] lies in SE (Theorem 8.4).

Items (i)–(ix) concern problems for which no 2o(n)2^{o(n)} algorithm was known and for which such an algorithm was excluded under the exponential time hypothesis by standard reductions. The best exact algorithms for the maximum independent set run in time 20.1996n2^{0.1996n} [XN17], for Max-Cut in time 2ωn/32^{\omega n/3} where ω\omega is the exponent of matrix multiplication [35], and for the permanent and the perfect matchings of sparse graphs in time 2n−Ω(n/Δ)2^{n-\Omega(n/\Delta)} [12]; each of these bounds is exceeded here asymptotically.

What this paper does not claim

The algorithm counts sums of products of local factors over a cube of dimension nn and its running time is subexponential in nn. Two features limit its reach, and they are stated here so that no reader expects more. First, the exponent is o(n)o(n) and not no(1)n^{o(1)}. A polynomial-time reduction from an NP-complete problem to 3-SAT multiplies the number of variables by a polynomial, so the algorithm says nothing about P versus NP, and nothing here bears on that question. Second, the number of factors and the total degree of their product must be O(n)O(n), or o(nlog⁡n/log⁡log⁡n)o(n\sqrt{\log n}/\log\log n) after Theorem 7.20, after a branching step that fixes O(n/log⁡n)O(n/\log n) variables; Remark 7.27 shows that the runtime itself cannot go beyond total degree of order nlog⁡nn\log n. Max-Cut on general graphs with Θ(n2)\Theta(n^2) edges, the chromatic and Tutte polynomials as polynomials in qq (as opposed to their values at a fixed positive integer qq, which Theorem 7.10 does give on bounded-degree graphs), Orthogonal Vectors, 3SUM and All-Pairs Shortest Paths need either Θ(n2)\Theta(n^2) constraints or reductions that multiply the variable count, and they are untouched. The paper contains no partial result on any of these problems.

Organisation

Section 2 fixes notation and the model of computation over an algebra. Sections 3 and 4 reproduce the summation routine and the construction of the replacement forms. Section 5 proves Theorem 5.3, including the branching on frequent variables and the bit-complexity bound over Q[W]/(WN)\mathbb{Q}[W]/(W^N). Section 6 proves items (i)–(vii), Section 7 proves items (viii) and (ix), Section 8 proves item (x), and Section 9 records what the method does not give. Appendix A describes exact-arithmetic checks of the extended algorithm on small instances and of the finite inequalities behind Section 7.9; no statement of the paper depends on them. The author’s earlier work on algorithmic structures in geometric and topological settings [4, 5, 6] is unrelated in method but shares the aim of making a computation explicit enough to be verified line by line.

A word on the constants. The parameters of Lemma 4.7 become admissible only when log⁡n\sqrt{\log n} exceeds a large multiple of (log⁡log⁡n)2(\log\log n)^2, that is for nn beyond any practical size; the same is true of OpenAI’s algorithm, and Figure 1 shows where the three costs of the routine settle; Theorem 7.19 asks for log⁡n≥230log⁡log⁡n\log n \ge2^{30}\log\log n at the least. The theorems are statements about asymptotic complexity, and the paper does not present them as anything else.

Surface showing the exponent per variable as a function of $\lambda$ and $\kappa$

Figure 1. The sum of the three costs of (32) per variable, with the parameters (53) for β=2\beta= 2, as a function of λ=⌈log⁡n⌉\lambda= \lceil\log n \rceil and of the degree ratio κ\kappa, drawn where the hypotheses r≥2r \ge2 and 6R≤Q6R \le Q of Lemma 4.7 hold. The surface falls like ν2/λ\nu^2/\sqrt{\lambda} in λ\lambda and grows linearly in κ\kappa.

Preliminaries

Notation

For an integer Q≥1Q \ge1 we write [Q]={1,…,Q}[Q] = \{1,\ldots,Q\}. Boolean assignments are vectors x∈{0,1}nx \in\{0,1\}^n, also read as vectors in Qn\mathbb{Q}^n. For S⊆[n]S \subseteq[n], x∣Sx|_S is the restriction and, for ξ∈QS\xi\in\mathbb{Q}^S, ξ~∈Qn\widetilde{\xi} \in\mathbb{Q}^n is the extension of ξ\xi by zero. The unit vector at vv is eve_v, and 1U\mathbf{1}_U is the indicator vector of U⊆[n]U \subseteq[n]. Logarithms are to base 2 unless written ln⁡\ln. For n≥20n \ge20 put

λ=⌈log⁡n⌉,ν=⌈log⁡λ⌉,(3)\lambda= \lceil\log n\rceil,\qquad\nu= \lceil\log\lambda\rceil, \tag*{(3)}

so that λ=Θ(log⁡n)\lambda= \Theta(\log n) and ν=Θ(log⁡log⁡n)\nu= \Theta(\log\log n).

Algebras and factors

Throughout, A\mathcal{A} is a commutative Q\mathbb{Q}-algebra with identity. The two cases of interest are A=Q\mathcal{A} = \mathbb{Q} and the truncated polynomial ring

AN=Q[W]/(WN),N≥1,(4)\mathcal{A}_N = \mathbb{Q}[W]/(W^N),\qquad N \ge1, \tag*{(4)}

whose elements are polynomials of degree less than NN with rational coefficients, added coefficientwise and multiplied with the terms of degree at least NN discarded. An addition in AN\mathcal{A}_N costs NN rational additions and a multiplication costs at most N2N^2 rational multiplications and additions. More generally, for integers N1,…,Ns≥1N_1,\ldots,N_s \ge1 we use

AN1,…,Ns=Q[W1,…,Ws]/(W1N1,…,WsNs),(5)\mathcal{A}_{N_1,\ldots,N_s} = \mathbb{Q}[W_1,\ldots,W_s]/(W_1^{N_1},\ldots,W_s^{N_s}), \tag*{(5)}

a Q\mathbb{Q}-vector space of dimension N=N1⋯NsN = N_1\cdots N_s with the monomials W1j1⋯WsjsW_1^{j_1}\cdots W_s^{j_s}, 0≤ji<Ni0 \le j_i < N_i, as a basis; its arithmetic costs the same as that of AN\mathcal{A}_N with this NN. Both are commutative Q\mathbb{Q}-algebras, and so is the group algebra Q[W]/(Wm−1)\mathbb{Q}[W]/(W^m-1) of the cyclic group of order mm, which appears in Section 6.

A factor system on nn variables is a finite index set F\mathcal{F} together with, for each f∈Ff \in\mathcal{F}, a scope If⊆[n]I_f \subseteq[n] and a polynomial Φf∈A[Yv:v∈If]\Phi_f \in\mathcal{A}[Y_v:v \in I_f]. We write

References

  1. [1][AFLS01] K. Allemand, K. Fukuda, T. M. Liebling and E. Steiner, A polynomial case of unconstrained zero-one quadratic optimization, Math. Program. 91 (2001), 49–52. doi:10.1007/s10107-001-00233DOI
  2. [2][Bar82] F. Barahona, On the computational complexity of Ising spin glass models, J. Phys. A 15 (1982), no. 10, 3241–3253. doi:10.1088/0305-4470/15/10/028DOI
  3. [3][BG05] A. Bulatov and M. Grohe, The complexity of partition functions, Theoret. Comput. Sci. 348 (2005), no. 2–3, 148–186. doi:10.1016/j.tcs.2005.09.011DOI
  4. [4][Bha26a] S. Singha Roy, D. Bhattacharjee, S. Samal, S. Nandi, N. Thakur, S. Sadhu, U. Bhattacharya, S. Dey, L. Frederick, S. Ghora and K. Patra, Quantum algorithms on symplectic state manifolds, SSRN preprint (2026). doi:10.2139/ssrn.6114107DOI
  5. [5][Bha26b] D. Bhattacharjee and U. Bhattacharya, Iterated nerve complexes for k-fold sensor coverage, Preprints.org (2026). doi:10.20944/preprints202606.1351.v2DOI
  6. [6][Bha26c] D. Bhattacharjee, Neuromorphic Grothendieck topoi for grid-embedded circuit architectures, SSRN preprint (2026). doi:10.2139/ssrn.6194939DOI
  7. [7][Bha26d] D. Bhattacharjee, Source and verification code for the paper Subexponential Weighted Counting and Exact Optimisation, GitHub repository https://github.com/creelie/eCon, release v1.4.0 (2026). doi:10.5281/zenodo.23718560.
  8. [8][BMT78] E. R. Berlekamp, R. J. McEliece and H. C. A. van Tilborg, On the inherent intractability of certain coding problems, IEEE Trans. Inform. Theory 24 (1978), no. 3, 384–386. doi:10.1109/TIT.1978.1055873DOI
  9. [9][CFKL15] M. Cygan, F. V. Fomin, L. Kowalik, D. Loksthanov, D. Marx, M. Pilipczuk, M. Pilipczuk and S. Saurabh, Parameterized Algorithms, Springer, Cham, 2015. doi:10.1007/978-3-319-21275-3DOI
  10. [10]C. Calabro, R. Impagliazzo and R. Paturi, A duality between clause width and clause density for SAT, in: 21st Annual IEEE Conference on Computational Complexity (CCC 2006), IEEE, 2006, pp. 252–260. doi:10.1109/CCC.2006.6DOI
  11. [11]J. Chen, I. A. Kanj and W. Jia, Vertex cover: further observations and further improvements, J. Algorithms 41 (2001), no. 2, 280–301. doi:10.1006/jagm.2001.1186DOI
  12. [12]M. Cygan and M. Pilipczuk, Faster exponential-time algorithms in graphs of bounded average degree, Inform. and Comput. 243 (2015), 75–85. doi:10.1016/j.ic.2014.12.007DOI
  13. [13]M. Dyer and C. Greenhill, The complexity of counting graph homomorphisms, Random Structures Algorithms 17 (2000), no. 3–4, 260–289. doi:10.1002/1098-2418(200010/12)17:3/4<260::AID-RSA5>3.0.CO;2-Wdoi.org/10.1002/1098-2418(200010/12)17:3/4<260::aid-rsa5>3.0.co;2-w
  14. [14]H. Dell, T. Husfeldt, D. Marx, N. Taslaman and M. Wahlén, Exponential time complexity of the permanent and the Tutte polynomial, ACM Trans. Algorithms 10 (2014), no. 4, Art. 21, 1–32. doi:10.1145/2635812DOI
  15. [15]C. M. Fortuin and P. W. Kasteleyn, On the random-cluster model. I. Introduction and relation to other models, Physica 57 (1972), no. 4, 536–564. doi:10.1016/0031-8914(72)90045-6
  16. [16]R. G. Gallager, Low-density parity-check codes, IRE Trans. Inform. Theory 8 (1962), no. 1, 21–28. doi:10.1109/TIT.1962.1057683DOI
  17. [17]T. F. Gonzalez, Clustering to minimize the maximum intercluster distance, Theoret. Comput. Sci. 38 (1985), 293–306. doi:10.1016/0304-3975(85)90224-5DOI
  18. [18]W. Hoeffding, Probability inequalities for sums of bounded random variables, J. Amer. Statist. Assoc. 58 (1963), no. 301, 13–30. doi:10.1080/01621459.1963.10500830DOI
  19. [19]I. Holyer, The NP-completeness of edge-coloring, SIAM J. Comput. 10 (1981), no. 4, 718–720. doi:10.1137/0210055DOI
  20. [20]R. Impagliazzo and R. Paturi, On the complexity of k-SAT, J. Comput. System Sci. 62 (2001), no. 2, 367–375. doi:10.1006/jcss.2000.1727DOI
  21. [21]R. Impagliazzo, R. Paturi and F. Zane, Which problems have strongly exponential complexity?, J. Comput. System Sci. 63 (2001), no. 4, 512–530. doi:10.1006/jcss.2001.1774DOI
  22. [22]D. S. Johnson and K. A. Niemi, On knapsacks, partitions, and a new dynamic programming technique for trees, Math. Oper. Res. 8 (1983), no. 1, 1–14. doi:10.1287/moor.8.1.1DOI
  23. [23]M. Jerrum and A. Sinclair, Polynomial-time approximation algorithms for the Ising model, SIAM J. Comput. 22 (1993), no. 5, 1087–1116. doi:10.1137/0222066DOI
  24. [24]F. Jaeger, D. L. Vertigan and D. J. A. Welsh, On the computational complexity of the Jones and Tutte polynomials, Math. Proc. Cambridge Philos. Soc. 108 (1990), 35–53. doi:10.1017/S0305004100068936DOI
  25. [25]M. Mihail and P. Winkler, On the number of Eulerian orientations of a graph, Algorithmica 16 (1996), no. 4–5, 402–414. doi:10.1007/BF01940872DOI
  26. [26]G. L. Nemhauser and L. E. Trotter, Jr., Vertex packings: structural properties and algorithms, Math. Programming 8 (1975), 232–248. doi:10.1007/BF01580444DOI
  27. [27]OpenAI, The exponential time hypothesis is false, preprint, 25 October 2026, https://github.com/openai/math/blob/main/preprints/The-Exponential-Time-Hypothesis-is-False-October-25-2026/paper.pdf.
  28. [28]U. Pferschy and J. Schauer, The knapsack problem with conflict graphs, J. Graph Algorithms Appl. 13 (2009), no. 2, 233–249. doi:10.7155/jgaa.00186
  29. [29]C. H. Papadimitriou and M. Yannakakis, Optimization, approximation, and complexity classes, J. Comput. System Sci. 43 (1991), no. 3, 425–440. doi:10.1016/0022-0000(91)90023-XDOI
  30. [30]A. D. Sokal, The multivariate Tutte polynomial (alias Potts model) for graphs and matroids, in: Surveys in Combinatorics 2005, London Math. Soc. Lecture Note Ser. 327, Cambridge Univ. Press, 2005, pp. 173–226. doi:10.1017/CBO9780511734885.009DOI
  31. [31]A. D. Scott and G. B. Sorkin, Polynomial constraint satisfaction problems, graph bisection, and the Ising partition function, ACM Trans. Algorithms 5 (2009), no. 4, Art. 45. doi:10.1145/1597036.1597049DOI
  32. [32]W. T. Tutte, A contribution to the theory of chromatic polynomials, Canad. J. Math. 6 (1954), 80–91. doi:10.4153/CJM-1954-010-9DOI
  33. [33]L. G. Valiant, The complexity of enumeration and reliability problems, SIAM J. Comput. 8 (1979), no. 3, 410–421. doi:10.1137/0208032DOI
  34. [34]A. Vardy, The intractability of computing the minimum distance of a code, IEEE Trans. Inform. Theory 43 (1997), no. 6, 1757–1766. doi:10.1109/18.641542DOI
  35. [35]R. Williams, A new algorithm for optimal 2-constraint satisfaction and its implications, Theoret. Comput. Sci. 348 (2005), no. 2–3, 357–365. doi:10.1016/j.tcs.2005.09.023DOI

Paper details

vlnc:W_k8mwz4m8
v1 · latestHistory (1)

published · Fresh — added to the Hub within the last 30 days

added ·

Usage

views · 0

downloads · 0

A view counts once per browser per day, a download each time the PDF is requested.

CC BY 4.0

Original source

  • Computer Science

Claude (Anthropic) · View statement →

Looking for related papers…
Contents