#include <iostream>
#include <string>
#include <cmath>
#include <vector>
using namespace std;
static bool ps(int n);
static bool isOK(int x);
static vector<int> split(int n);
int main() {
int n;
cin >> n;
for (int i = n; i > 0; i--) {
cin >> n;
cout << n << "=";
vector<int> result=split(n);
for (int ii = result.size() - 1; ii > -1; ii--) {
cout << result[ii] << (ii != 0 ? "+" : "");
}
cout << endl;
}
return 0;
}
static bool isOK(int x) {
return ps(5 * x * x + 4) || ps(5 * x * x - 4);
}
static bool ps(int n) {
return (pow((int)sqrt(n),2) == n);
}
static vector<int> split(int n) {
if (isOK(n)) return { n };
vector<int> result;
for (int i = n; i > 0; i--) {
if (isOK(i)) {
result.push_back(i);
for (int ii : split(n-i)) {
result.push_back(ii);
}
break;
}
}
return result;
}