1 void swap(long &a, long &b)
12 long& operator[](int index) { return arr[index]; }
13 const long& operator[](int index) const { return arr[index]; }
15 void swap(Array& array) {
16 for (int i = 0; i < 1; ++i)
17 ::swap(arr[i], array[i]);
21 class Vector : public Array {};
26 v() : e (new Vector[4]){}
27 Vector& operator[](int index) { return e[index]; }
28 const Vector& operator[](int index) const { return e[index]; }
30 static inline Vector func(const Vector& y)
41 for (int i = 0; i < 3; ++i) {
42 const Vector& v = solution[i];
44 const long delta = func(v)[0] & t;
45 sum[0] = v[0] + delta;
46 solution[i + 1].swap(sum);
48 for(int i = 0; i < 4; i++)
50 if (solution[i][0] != 1)