Note

You can download this notebook here.

Gaussian Boson SamplingΒΆ

Gaussian Boson Sampling can be performed as shown by the following example:

[9]:
import numpy as np
import piquasso as pq


d = 5
shots = 1000

A = np.array(
    [
        [0, 1, 0, 1, 1],
        [1, 0, 0, 0, 1],
        [0, 0, 0, 1, 0],
        [1, 0, 1, 0, 1],
        [1, 1, 0, 1, 0],
    ]
)

with pq.Program() as gaussian_boson_sampling:
    pq.Q(all) | pq.Graph(A)

    pq.Q(all) | pq.ParticleNumberMeasurement()


simulator = pq.GaussianSimulator(d=d)

result = simulator.execute(gaussian_boson_sampling, shots=shots)

print("Samples:", result.samples)
Samples: [[0 0 0 0 0]
 [4 0 0 3 1]
 [1 0 1 2 0]
 ...
 [0 0 1 1 0]
 [1 1 1 2 1]
 [1 1 0 0 0]]

The generated samples could be used to acquire some denser subgraphs of the generated graph with

[10]:
print("Subgraphs:", result.to_subgraph_nodes())
Subgraphs: [[], [0, 0, 0, 0, 3, 3, 3, 4], [0, 2, 3, 3], [], [0, 3, 3, 4], [0, 1, 3, 4], [0, 1, 3, 4], [], [], [0, 0, 0, 3, 3, 4, 4, 4], [0, 3, 4, 4], [0, 0, 0, 1, 1, 3], [0, 1], [], [0, 0, 0, 1, 1, 4], [0, 0, 0, 3, 3, 3, 4, 4], [0, 3, 4, 4], [], [], [], [0, 4], [], [0, 0, 3, 3, 4, 4], [], [0, 0, 1, 4], [], [2, 3, 3, 4], [0, 3], [0, 0, 0, 1, 2, 3, 3, 3, 3, 4, 4, 4], [2, 3], [2, 3], [1, 4], [0, 1, 3, 4], [0, 0, 0, 0, 1, 1, 3, 4], [0, 0, 4, 4], [3, 4], [0, 1, 3, 3, 4, 4, 4, 4], [0, 0, 0, 1, 2, 3, 3, 4], [], [0, 0, 1, 1], [0, 1, 3, 4, 4, 4], [2, 2, 3, 3, 3, 4], [], [3, 4], [0, 0, 0, 0, 3, 3, 3, 3, 4, 4, 4, 4], [], [0, 4], [0, 0, 0, 0, 1, 1, 3, 4, 4, 4], [], [0, 1, 3, 4], [2, 3], [0, 4], [1, 2, 3, 4], [0, 0, 1, 3, 4, 4], [], [], [], [0, 4], [], [0, 1, 1, 1, 2, 3, 4, 4], [0, 4], [], [], [], [0, 3, 3, 4], [], [0, 0, 1, 4], [2, 3], [], [], [0, 0, 0, 0, 1, 1, 2, 3, 3, 4, 4, 4], [0, 0, 1, 3, 3, 4, 4, 4], [], [0, 1, 1, 4], [0, 1], [0, 4], [3, 4], [], [0, 0, 0, 0, 1, 1, 3, 3, 4, 4, 4, 4], [], [], [0, 2, 3, 4], [0, 3], [0, 0, 1, 1, 3, 4], [0, 0, 0, 0, 1, 1, 1, 3, 4, 4, 4, 4], [1, 4], [0, 1], [0, 1, 3, 4], [], [3, 4], [0, 1, 3, 4, 4, 4], [0, 0, 0, 0, 1, 1, 2, 3, 3, 3, 4, 4], [], [0, 0, 0, 1, 3, 4], [0, 0, 0, 0, 1, 1, 1, 3, 3, 3, 4, 4, 4, 4], [0, 4], [], [0, 0, 0, 0, 1, 1, 1, 2, 2, 3, 3, 3, 3, 4], [], [0, 4], [0, 0, 0, 1, 3, 3, 3, 4], [], [0, 0, 3, 3, 3, 4, 4, 4], [0, 0, 0, 1, 1, 1, 3, 3, 4, 4, 4, 4], [0, 2, 3, 3], [0, 0, 0, 1, 2, 3, 3, 3, 3, 4], [0, 0, 1, 3, 3, 3, 4, 4, 4, 4], [0, 0, 0, 1, 3, 3, 4, 4], [], [], [0, 0, 0, 1, 1, 2, 2, 3, 3, 3, 4, 4], [], [0, 0, 0, 1, 1, 1, 3, 3, 3, 4, 4, 4], [0, 0, 1, 1, 3, 4, 4, 4], [0, 0, 1, 2, 3, 3], [0, 0, 2, 3, 3, 3, 3, 4], [], [0, 0, 0, 1, 1, 1, 3, 3, 3, 4, 4, 4], [0, 3], [], [], [0, 0, 0, 1, 1, 3, 3, 3, 3, 4, 4, 4], [0, 0, 4, 4], [0, 0, 0, 1, 4, 4], [], [0, 0, 0, 0, 1, 1, 4, 4, 4, 4], [2, 3, 3, 4], [0, 0, 3, 3], [0, 1, 2, 3, 3, 4], [1, 4], [], [0, 2, 3, 4], [2, 3], [], [], [], [0, 3], [0, 0, 0, 0, 1, 1, 3, 3], [0, 0, 0, 1, 1, 1, 4, 4], [1, 4], [0, 0, 0, 3, 3, 3], [1, 4], [0, 0, 1, 3], [0, 0, 2, 3, 3, 3, 4, 4], [0, 0, 0, 1, 1, 1, 1, 4], [0, 0, 1, 3], [], [0, 4], [], [0, 4], [0, 0, 1, 1, 2, 2, 3, 3, 3, 4], [], [1, 4], [0, 0, 0, 0, 1, 2, 3, 3, 3, 4, 4, 4], [], [], [0, 1, 4, 4], [], [3, 4], [0, 0, 0, 0, 1, 1, 4, 4, 4, 4], [], [], [0, 1, 3, 3, 4, 4], [0, 0, 3, 4], [], [0, 1, 3, 3, 4, 4], [0, 0, 0, 0, 1, 3, 3, 4], [2, 3, 3, 4], [0, 3], [3, 4], [], [0, 0, 0, 0, 1, 1, 3, 3], [1, 4], [0, 1], [0, 0, 3, 3, 3, 3, 4, 4], [0, 3], [0, 1], [0, 0, 0, 1, 4, 4], [], [], [0, 0, 2, 2, 3, 3, 3, 4], [], [0, 0, 3, 4], [0, 0, 0, 1, 3, 4, 4, 4], [0, 3], [0, 0, 1, 3, 3, 3, 4, 4, 4, 4], [], [0, 0, 2, 2, 3, 3, 3, 3], [0, 0, 0, 0, 1, 1, 3, 3, 4, 4, 4, 4], [0, 0, 1, 1], [], [0, 1, 3, 4], [0, 0, 0, 1, 1, 3, 4, 4], [], [0, 0, 0, 1, 1, 1, 2, 3, 3, 4], [0, 0, 1, 3, 3, 4, 4, 4], [], [0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 4], [0, 0, 2, 3, 3, 3, 3, 4, 4, 4], [3, 4], [0, 0, 0, 1, 1, 1, 1, 3, 3, 4, 4, 4], [0, 1], [0, 4], [0, 1, 1, 2, 3, 3, 4, 4], [], [2, 3, 3, 4], [], [], [0, 4], [0, 0, 0, 1, 3, 3], [0, 4], [], [2, 3], [3, 3, 3, 4, 4, 4], [0, 4], [2, 3], [0, 0, 2, 3, 3, 3, 4, 4], [], [], [0, 0, 0, 1, 1, 1, 3, 4, 4, 4], [0, 3], [0, 0, 0, 1, 1, 2, 3, 3, 4, 4], [], [2, 3], [3, 4], [0, 0, 0, 0, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4], [0, 1], [], [], [], [], [0, 1, 1, 3, 3, 4, 4, 4], [0, 3], [0, 1, 4, 4], [], [], [], [], [0, 1, 1, 3, 4, 4, 4, 4], [0, 0, 1, 1, 2, 3, 4, 4], [], [], [0, 1, 1, 3, 4, 4], [], [0, 0, 0, 1, 2, 3, 3, 3, 4, 4, 4, 4], [2, 3], [0, 3], [3, 4], [], [], [0, 4], [], [1, 4], [], [0, 1, 3, 4], [0, 0, 0, 1, 3, 3], [], [3, 4], [0, 0, 1, 2, 3, 3, 4, 4], [0, 0, 0, 1, 1, 3, 3, 3, 4, 4, 4, 4], [0, 0, 0, 1, 1, 1, 3, 3, 4, 4], [], [1, 3, 4, 4], [0, 0, 1, 2, 2, 3, 3, 3, 4, 4], [0, 0, 1, 1, 1, 4, 4, 4], [], [], [0, 3], [], [0, 2, 3, 3], [], [0, 0, 1, 3, 4, 4], [], [], [0, 0, 0, 1, 1, 1, 3, 4], [], [0, 0, 0, 1, 3, 4], [3, 4], [0, 1, 4, 4], [0, 1], [0, 0, 0, 1, 2, 3, 3, 4], [0, 1], [], [2, 3], [], [], [0, 0, 1, 3], [0, 0, 0, 4, 4, 4], [], [], [0, 0, 0, 0, 2, 3, 3, 3, 4, 4], [0, 2, 3, 3, 4, 4], [0, 0, 1, 3, 4, 4], [0, 0, 0, 0, 1, 1, 3, 3, 3, 4, 4, 4], [0, 1, 1, 3, 3, 4, 4, 4], [0, 0, 1, 3], [0, 0, 1, 2, 3, 4], [0, 0, 1, 1, 2, 3, 3, 4], [0, 0, 0, 1, 3, 3, 4, 4], [0, 0, 1, 4], [], [0, 3, 4, 4], [2, 2, 2, 3, 3, 3], [0, 0, 3, 3, 4, 4], [0, 1, 2, 2, 3, 3, 3, 3, 4, 4], [0, 4], [0, 2, 3, 4], [0, 4], [0, 1], [0, 2, 2, 3, 3, 3, 3, 4], [0, 0, 0, 1, 1, 1, 3, 4, 4, 4], [], [0, 0, 1, 3, 3, 4], [1, 4], [], [0, 3, 3, 4], [0, 4], [2, 3], [], [0, 3], [0, 0, 1, 4], [0, 1], [0, 0, 0, 0, 1, 1, 1, 2, 3, 3, 4, 4], [0, 0, 1, 3, 4, 4], [0, 1], [0, 0, 0, 0, 1, 1, 1, 2, 3, 3, 3, 3, 4, 4], [0, 0, 0, 0, 1, 2, 3, 3, 3, 3, 4, 4], [], [0, 0, 1, 3, 4, 4], [0, 0, 2, 2, 3, 3, 3, 4], [0, 3], [0, 0, 0, 0, 1, 1, 3, 3, 4, 4, 4, 4], [0, 0, 0, 1, 1, 3, 3, 3, 4, 4], [], [], [0, 0, 1, 1, 1, 4], [3, 4], [], [0, 1, 1, 2, 3, 3, 3, 3, 4, 4, 4, 4], [], [], [0, 0, 1, 1, 4, 4], [0, 1, 3, 3, 4, 4], [1, 4], [0, 4], [], [0, 0, 0, 0, 1, 1, 1, 1, 3, 3, 4, 4, 4, 4], [], [0, 2, 2, 2, 3, 3, 3, 3], [], [0, 3], [0, 0, 1, 1], [0, 4], [0, 3, 4, 4], [0, 4], [0, 2, 3, 3], [], [0, 3], [], [], [], [0, 0, 1, 2, 3, 3], [0, 0, 1, 1], [0, 4], [2, 3], [], [], [0, 1], [3, 4], [3, 3, 4, 4], [], [], [0, 1], [3, 4], [0, 0, 0, 0, 1, 2, 3, 3, 3, 3, 4, 4, 4, 4], [], [0, 3], [0, 0, 1, 1, 3, 4], [], [], [0, 0, 0, 2, 3, 3, 3, 3, 4, 4, 4, 4], [3, 3, 4, 4], [1, 4], [2, 3], [0, 1, 3, 4], [0, 0, 4, 4], [1, 4], [0, 1, 2, 2, 3, 3, 3, 4], [0, 0, 0, 1, 3, 4, 4, 4], [0, 0, 0, 1, 1, 3, 3, 4, 4, 4], [0, 0, 3, 3, 3, 4], [0, 2, 2, 3, 3, 3, 4, 4], [], [0, 0, 0, 0, 1, 1, 1, 3, 4, 4, 4, 4], [0, 3, 4, 4], [], [0, 0, 0, 0, 1, 3, 4, 4, 4, 4], [0, 4], [0, 2, 3, 3], [0, 0, 1, 3, 3, 4, 4, 4], [0, 4], [1, 2, 3, 4], [0, 3, 4, 4], [0, 4], [0, 1], [0, 0, 0, 0, 1, 2, 3, 3, 3, 4, 4, 4], [0, 0, 0, 1, 3, 3, 3, 4], [0, 0, 1, 3, 4, 4], [0, 1, 4, 4], [0, 4], [0, 0, 0, 1, 1, 2, 3, 3, 3, 3, 4, 4, 4, 4], [], [], [], [0, 4], [0, 4], [0, 0, 0, 1, 3, 4], [0, 0, 0, 0, 1, 4, 4, 4], [], [1, 4], [0, 1, 1, 1, 4, 4], [1, 1, 4, 4], [0, 0, 0, 0, 2, 3, 3, 4, 4, 4], [], [0, 1, 3, 4, 4, 4], [0, 1], [], [0, 0, 0, 1, 2, 3, 3, 3, 3, 4, 4, 4], [], [0, 0, 0, 1, 4, 4], [0, 0, 0, 0, 1, 1, 3, 3, 3, 4], [0, 2, 3, 3], [], [0, 0, 1, 4], [], [0, 3], [0, 4], [], [0, 0, 1, 3], [0, 0, 0, 0, 1, 2, 3, 3, 3, 3, 4, 4], [0, 0, 1, 3, 4, 4], [0, 4], [], [0, 1, 1, 4, 4, 4], [], [], [0, 0, 0, 1, 1, 1], [], [1, 4], [3, 4], [0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4], [0, 0, 0, 0, 1, 3, 4, 4, 4, 4], [], [0, 1, 2, 3, 3, 4], [], [0, 1, 3, 4], [3, 4], [3, 4], [0, 0, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4], [3, 4], [3, 4], [], [0, 1], [0, 0, 0, 1, 3, 4, 4, 4], [], [], [0, 0, 0, 0, 1, 1, 1, 2, 3, 3, 3, 3, 4, 4, 4, 4], [], [], [0, 4], [0, 1], [0, 0, 0, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4], [2, 2, 3, 3], [0, 1, 4, 4], [], [], [2, 3], [0, 0, 0, 0, 1, 1, 1, 3, 3, 4, 4, 4], [0, 0, 3, 4], [3, 4], [0, 0, 0, 1, 1, 1, 4, 4], [], [0, 0, 0, 0, 3, 3, 4, 4, 4, 4], [0, 4], [0, 1, 1, 1, 4, 4], [2, 2, 3, 3], [0, 4], [], [], [], [1, 4], [0, 1, 3, 4], [0, 0, 0, 1, 3, 4], [1, 4], [0, 0, 1, 3], [], [1, 4], [0, 0, 3, 4], [0, 3], [0, 0, 0, 1, 3, 3, 3, 3, 4, 4, 4, 4], [], [1, 4], [], [0, 0, 0, 1, 1, 4], [2, 3], [1, 4], [], [], [], [0, 4], [0, 2, 3, 3], [], [], [1, 4], [0, 1, 1, 3, 3, 4, 4, 4], [0, 0, 0, 1, 2, 3, 3, 3, 4, 4, 4, 4], [1, 3, 4, 4], [0, 0, 0, 1, 1, 2, 3, 3, 4, 4], [], [], [0, 0, 1, 2, 3, 3, 3, 4], [0, 0, 2, 2, 3, 3, 3, 3], [0, 3, 3, 4], [], [], [], [0, 1], [], [], [0, 0, 1, 1], [1, 4], [], [0, 0, 1, 1, 3, 4], [0, 0, 0, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4, 4], [0, 0, 0, 1, 3, 4], [], [2, 3, 3, 4], [0, 0, 0, 2, 3, 3, 3, 4, 4, 4], [0, 1, 2, 3, 3, 3, 3, 4, 4, 4], [0, 0, 1, 2, 3, 3, 3, 4], [], [0, 0, 4, 4], [], [0, 1, 1, 2, 2, 3, 3, 4], [], [0, 0, 0, 1, 3, 4, 4, 4], [3, 4], [], [], [0, 0, 0, 1, 3, 3], [2, 3], [], [], [0, 4], [], [], [0, 1], [], [0, 0, 0, 1, 3, 4, 4, 4], [2, 3], [], [1, 3, 3, 4, 4, 4], [0, 2, 3, 3], [0, 0, 3, 3], [], [], [0, 0, 0, 1, 1, 1, 4, 4, 4, 4], [0, 1, 1, 2, 3, 3, 4, 4, 4, 4], [0, 1, 3, 4], [2, 3], [0, 4], [3, 4], [2, 3, 3, 4], [0, 3], [0, 1, 1, 4], [0, 0, 4, 4], [], [2, 3, 3, 4], [0, 0, 0, 3, 3, 4], [], [0, 3, 4, 4], [0, 0, 1, 1, 3, 3, 3, 4, 4, 4], [], [], [0, 1, 1, 2, 3, 4], [0, 0, 1, 3], [], [0, 0, 2, 2, 3, 3, 3, 4], [], [0, 1, 2, 3, 3, 4], [0, 0, 0, 1, 3, 4, 4, 4], [0, 1], [0, 0, 1, 2, 3, 3], [], [0, 3], [0, 0, 0, 0, 1, 1, 1, 3, 3, 3, 4, 4, 4, 4], [0, 3], [0, 0, 1, 1, 2, 2, 3, 3, 3, 3, 4, 4], [3, 4], [0, 0, 0, 0, 1, 1, 1, 1, 3, 3, 4, 4, 4, 4], [], [], [0, 0, 3, 3, 4, 4], [1, 4], [1, 4], [0, 1, 4, 4], [0, 1, 1, 2, 2, 3, 3, 3, 4, 4], [], [], [0, 0, 0, 1, 3, 3], [0, 0, 0, 1, 3, 3, 4, 4], [0, 0, 1, 1, 3, 4], [0, 3, 4, 4], [], [], [1, 4], [0, 0, 0, 0, 1, 2, 3, 3, 4, 4], [0, 3, 3, 4], [0, 0, 0, 0, 1, 1, 1, 3, 3, 4, 4, 4], [0, 3, 3, 4], [0, 0, 0, 1, 1, 3, 4, 4], [], [1, 4], [0, 1, 3, 4], [], [], [0, 0, 1, 1], [0, 1, 3, 3, 4, 4, 4, 4], [0, 1, 2, 2, 2, 3, 3, 3], [2, 3], [0, 0, 0, 1, 3, 3, 4, 4], [2, 2, 3, 3], [], [0, 0, 0, 0, 1, 1, 3, 3, 3, 4, 4, 4], [1, 4], [0, 1, 1, 4], [], [], [1, 4], [], [0, 0, 3, 4, 4, 4], [0, 4], [0, 1], [0, 0, 1, 3], [3, 4], [0, 0, 1, 3, 4, 4], [0, 3, 4, 4], [0, 1], [0, 0, 2, 3, 3, 4], [0, 3, 4, 4], [3, 4], [0, 1, 4, 4], [0, 3], [0, 0, 0, 0, 1, 1, 1, 3, 4, 4], [1, 3, 4, 4], [1, 4], [0, 1, 1, 2, 3, 4], [0, 0, 0, 2, 3, 3, 3, 3, 4, 4, 4, 4], [1, 1, 2, 3, 3, 3, 3, 4, 4, 4, 4], [0, 0, 1, 1, 3, 4], [0, 0, 0, 1, 1, 3, 3, 3, 4, 4], [], [2, 3], [2, 3], [], [0, 1, 1, 4], [], [0, 1, 2, 3], [0, 3, 4, 4], [], [0, 0, 3, 3, 4, 4, 4, 4], [], [0, 0, 1, 4], [], [], [], [0, 0, 0, 0, 1, 3, 3, 4, 4, 4], [0, 0, 0, 1, 1, 4], [0, 0, 0, 0, 1, 1, 2, 3, 3, 3, 3, 4, 4, 4], [0, 4], [0, 1, 1, 4], [], [], [0, 0, 0, 1, 1, 1, 4, 4], [0, 3], [], [], [0, 1], [0, 4], [], [0, 1], [0, 0, 3, 3, 4, 4], [], [], [3, 4], [], [0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4], [3, 4], [0, 0, 0, 0, 1, 1, 1, 3, 4, 4], [0, 0, 1, 3, 3, 4, 4, 4], [0, 0, 0, 1, 2, 2, 3, 3, 3, 3, 4, 4], [1, 4], [], [0, 0, 0, 1, 1, 1, 2, 3, 3, 4, 4, 4], [0, 1], [0, 0, 1, 3], [], [], [0, 0, 0, 0, 1, 1, 2, 3, 3, 3, 4, 4], [0, 1, 3, 3, 4, 4, 4, 4], [0, 1, 1, 2, 3, 3, 3, 4, 4, 4], [0, 0, 0, 0, 1, 1, 1, 1, 3, 3, 3, 3, 4, 4, 4, 4], [0, 1, 1, 3, 4, 4], [0, 0, 0, 1, 1, 4], [], [0, 0, 0, 1, 1, 2, 3, 3, 3, 3, 4, 4], [], [0, 3], [], [0, 0, 2, 3, 3, 3], [0, 0, 0, 0, 1, 1, 2, 3, 3, 3, 4, 4], [1, 4], [], [0, 2, 3, 3], [0, 0, 0, 1, 1, 1, 2, 3, 3, 4, 4, 4], [0, 0, 1, 2, 3, 3], [0, 4], [3, 4], [0, 0, 3, 3, 3, 3, 4, 4], [0, 1, 2, 3, 3, 4], [2, 3], [], [0, 0, 1, 1, 3, 4, 4, 4], [3, 3, 4, 4], [0, 3], [0, 0, 1, 1], [], [0, 1, 3, 4], [0, 4], [0, 0, 2, 2, 3, 3, 3, 3], [], [], [], [], [], [], [], [0, 0, 1, 1, 2, 3, 4, 4], [], [], [0, 0, 0, 1, 3, 4], [0, 0, 0, 0, 1, 3, 3, 4, 4, 4], [0, 0, 0, 0, 1, 1, 1, 1, 3, 3, 3, 4, 4, 4], [], [0, 3], [0, 0, 0, 0, 1, 1, 1, 1, 4, 4], [], [0, 1, 3, 3, 4, 4], [0, 2, 3, 3, 4, 4], [0, 1, 3, 4], [0, 3], [2, 3], [], [], [], [0, 0, 0, 1, 1, 3, 3, 3, 4, 4, 4, 4], [0, 1, 1, 4], [], [0, 1], [0, 0, 0, 1, 1, 2, 3, 3, 3, 4], [0, 0, 1, 3, 4, 4], [], [], [], [], [2, 3], [0, 0, 0, 1, 2, 3, 3, 3, 4, 4], [2, 3], [], [0, 1, 1, 4], [0, 4], [], [0, 1, 1, 2, 3, 4], [0, 0, 3, 3, 3, 4], [0, 0, 0, 1, 1, 3, 4, 4], [], [3, 4], [0, 3, 3, 4], [0, 3], [], [2, 3, 3, 4], [0, 0, 0, 1, 1, 2, 3, 3, 4, 4], [], [2, 3], [2, 3], [0, 2, 3, 3, 3, 4], [], [0, 0, 1, 3], [0, 0, 3, 4], [0, 0, 1, 3, 3, 4, 4, 4], [], [], [0, 0, 4, 4], [1, 3, 4, 4], [1, 4], [0, 0, 0, 0, 1, 3, 3, 4], [], [], [], [], [0, 1, 3, 4], [0, 0, 1, 3], [], [0, 3], [0, 3, 3, 4], [0, 1], [0, 0, 0, 1, 1, 1, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4], [1, 4], [], [0, 0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 3, 4, 4, 4, 4], [0, 0, 1, 3, 3, 4], [0, 0, 1, 1, 1, 2, 2, 3, 3, 3, 3, 4, 4, 4], [], [], [], [0, 0, 0, 0, 1, 1, 2, 3, 3, 4], [], [0, 0, 0, 1, 1, 1, 1, 2, 3, 3, 3, 4, 4, 4], [0, 0, 1, 3, 4, 4], [1, 4], [1, 2, 3, 3, 4, 4], [], [0, 0, 1, 3], [], [], [0, 0, 0, 0, 1, 3, 3, 3, 4, 4], [0, 1, 1, 1, 3, 4, 4, 4], [0, 0, 1, 1, 3, 3, 3, 4, 4, 4], [], [3, 4], [0, 1], [0, 2, 3, 3], [0, 0, 0, 0, 1, 1, 3, 3, 3, 3, 4, 4], [0, 0, 0, 1, 1, 2, 3, 3, 3, 3, 4, 4], [0, 3], [2, 3], [], [], [0, 1], [], [], [], [0, 1, 2, 3, 3, 3, 3, 4, 4, 4], [0, 1], [], [0, 0, 1, 3, 3, 4], [], [], [], [], [0, 0, 0, 1, 3, 3, 4, 4], [1, 4], [], [0, 1], [0, 3], [1, 3, 3, 4, 4, 4], [0, 0, 1, 3, 3, 4, 4, 4], [], [0, 0, 2, 3, 3, 4], [0, 4], [0, 0, 1, 3], [2, 3], [0, 0, 0, 0, 1, 1, 1, 3, 3, 4, 4, 4], [0, 0, 0, 0, 1, 1, 2, 3, 3, 3, 3, 4, 4, 4], [0, 0, 3, 3], [0, 0, 1, 1, 2, 3, 3, 4], [0, 4], [3, 4], [2, 3], [0, 2, 3, 3, 3, 3, 4, 4], [], [0, 0, 0, 0, 1, 1, 3, 4, 4, 4], [], [], [0, 0, 1, 2, 3, 3], [], [3, 4], [1, 4], [], [0, 0, 1, 2, 3, 3, 4, 4], [3, 4], [], [0, 0, 1, 1, 4, 4, 4, 4], [0, 0, 1, 1, 3, 3, 3, 4, 4, 4], [], [0, 4], [], [0, 0, 1, 1, 3, 3, 3, 3, 4, 4, 4, 4], [0, 1, 1, 4], [2, 3], [0, 0, 1, 1, 1, 3, 4, 4, 4, 4], [1, 4], [], [0, 4], [1, 4], [2, 2, 3, 3, 3, 4], [], [0, 0, 0, 0, 1, 1, 3, 3, 3, 3, 4, 4, 4, 4], [0, 0, 3, 4], [0, 0, 4, 4], [], [0, 1, 4, 4], [0, 0, 0, 1, 1, 3, 3, 3, 4, 4], [0, 4], [0, 0, 0, 0, 1, 1, 3, 3, 3, 4, 4, 4], [1, 3, 3, 4, 4, 4], [], [0, 4], [0, 0, 3, 3, 3, 4], [], [], [0, 0, 0, 0, 1, 2, 3, 3, 3, 4], [], [0, 1, 2, 3, 3, 4], [0, 4], [0, 0, 2, 2, 3, 3, 3, 4], [], [1, 4], [3, 4], [1, 4], [0, 0, 1, 2, 3, 3, 3, 4], [0, 1, 3, 4, 4, 4], [2, 3], [0, 3, 3, 4], [0, 0, 1, 3, 3, 3, 4, 4], [0, 0, 0, 0, 1, 1, 1, 1, 3, 4, 4, 4], [], [0, 1, 1, 1, 2, 3, 3, 4, 4, 4], [], [2, 3], [0, 0, 0, 1, 1, 1, 1, 4], [0, 0, 0, 3, 3, 3, 4, 4], [], [], [0, 1, 3, 4], [2, 2, 3, 3, 3, 4], [0, 0, 0, 0, 1, 1, 3, 3, 3, 4], [0, 1, 3, 4], [0, 1], [0, 1, 1, 3, 4, 4], [0, 0, 1, 3], [], [0, 0, 1, 4], [], [0, 3, 3, 3, 3, 4, 4, 4], [0, 1], [0, 0, 1, 3, 4, 4], [2, 3], [0, 2, 3, 3, 3, 4], [1, 4], [0, 1], [], [0, 0, 0, 0, 1, 1, 1, 3, 3, 3, 4, 4, 4, 4], [0, 1, 3, 4], [0, 3, 4, 4], [0, 0, 0, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4], [2, 3], [], [3, 3, 4, 4], [0, 3], [0, 0, 1, 3, 3, 4, 4, 4], [0, 0, 0, 3, 3, 4], [0, 1, 4, 4], [3, 4], [0, 0, 1, 4], [], [], [0, 1, 2, 3, 3, 3, 4, 4], [], [], [], [3, 4], [], [0, 0, 0, 0, 1, 1, 3, 4, 4, 4], [0, 2, 3, 4], [0, 3], [], [1, 4], [0, 0, 2, 3, 3, 3, 4, 4], [], [0, 3, 4, 4], [0, 0, 1, 3, 4, 4], [], [], [], [2, 3, 3, 4], [0, 0, 0, 0, 1, 3, 3, 3, 3, 4], [2, 3], [0, 1, 2, 3, 3, 4], [0, 1]]