+ /*
+ * We formulate our problem as an LP problem as follows.
+ * In this file "n" and "m" are the matchstick numbers.
+ *
+ * Each set bit in the adjacency matrix corresponds to taking a
+ * fragment from old match i and making it part of new match j.
+ *
+ * The structural variables (columns) are:
+ * x_fragsz_i_j the size of that fragment
+ * x_minimum minimum size of any fragment
+ *
+ * The auxiliary variables (rows, constraints) are:
+ * x_total_i total length for each input match (fixed variable)
+ * x_total_j total length for each output match (fixed variable)
+ * x_fragmin_i_j amount by which fragment is > minimum (lower bound 0)
+ *
+ * The objective function is simply to maximise x_minimum
+ */
+