//|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
//| AUTHOR - AnmolTomer |
//|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
//Compile: g++ -std=c++14 -O2 -Wall test.cpp -o test.out
//Debug: g++ -g -std=c++14 -O2 -Wall test.cpp -o test.out
// Problem Link: https://w...content-available-to-author-only...h.com/practice/basic-programming/input-output/basics-of-input-output/practice-problems/algorithm/seven-segment-display-nov-easy-e7f87ce0/
#include <bits/stdc++.h>
using namespace std;
typedef vector< int > vi;
typedef pair< int , int > pii;
#define endl "\n"
#define sd(val) scanf("%d", &val)
#define pd(val) printf("%d\n", val)
#define REP(a, b) for (int i = a; i < b; i++)
#define REP1(a, b) for (int i = a; i <= b; i++)
#define frr(i, n) for (int i = 0; i < (n); i++)
#define ss(val) scanf("%s", &val)
#define sull(val) scanf("%llu", &val)
#define sl(val) scanf("%lld", &val)
#define debug(val) printf("check%d\n", val)
#define all(v) v.begin(), v.end()
#define pb push_back
#define mp make_pair
#define ff first
#define sc second
#define ll long long
#define ull unsigned long long
#define MOD 1000000007
#define w(t) \
int t; \
cin >> t; \
while (t--)
#define clr(val) memset(val, 0, sizeof(val))
#define what_is(x) cerr << #x << " is " << x << endl;
#define OJ \
freopen("input.txt", "r", stdin); \
freopen("output.txt", "w", stdout);
#define FIO \
ios_base::sync_with_stdio(false); \
cin.tie(NULL); \
cout.tie(NULL);
// <=======END OF TEMPLATE=============>
void solve( ) ;
int main( )
{
// OJ;
// FIO;
ios:: sync_with_stdio ( 0 ) ;
cin .tie ( 0 ) ;
map< int , int > m;
// 15673 will use 2+5+6+3+5 = 21 sticks
// If total number of sticks == even then make a number using as many sticks of 1 as it is the smallest number e.g. instead of making nine with 6 sticks, you could make 111 with 6 sticks, as number one takes 2 sticks.
// If numberofSticks == odd, then largest number with as few sticks that we can make is 7 which uses only 3 sticks, so subtract 3 from total sticks, that would make your totalSticks as even and then again use all the even number of sticks for making number with 1, something like this, say you have 11 sticks then you would make a 7 with 3 sticks leaving you with 8 sticks and with 8 sticks you can make 1111 and placing larges number 7 in front gives you largest number as 71111 using 11 sticks.
m.insert ( pii( 0 , 6 ) ) ;
m.insert ( pii( 1 , 2 ) ) ;
m.insert ( pii( 2 , 5 ) ) ;
m.insert ( pii( 3 , 5 ) ) ;
m.insert ( pii( 4 , 4 ) ) ;
m.insert ( pii( 5 , 5 ) ) ;
m.insert ( pii( 6 , 6 ) ) ;
m.insert ( pii( 7 , 3 ) ) ;
m.insert ( pii( 8 , 7 ) ) ;
m.insert ( pii( 9 , 6 ) ) ;
w( t)
{
int n;
cin >> n;
int totalSticks = 0 ;
while ( n > 10 )
{
for ( auto e : m)
{
// cout << "N before n%10 = " << n % 10 << endl;
if ( e.first == ( n % 10 ) )
totalSticks + = e.second ;
}
n / = 10 ;
// cout << "N after n/10 = " << n << endl;
}
// cout << "N outside the loop: " << n << endl;
for ( auto e : m)
{
if ( e.first == ( n % 10 ) )
totalSticks + = e.second ;
}
// cout << "Final totalsticks = " << totalSticks << endl;
ull int maxNumber = 0 ;
if ( totalSticks % 2 ! = 0 )
{
int split = 3 ;
totalSticks - = 3 ;
int numOfOnes = totalSticks / 2 ;
ull int mul = 1 ;
while ( numOfOnes-- )
{
maxNumber + = mul;
mul * = 10 ;
}
maxNumber + = 7 * mul;
cout << maxNumber << endl;
}
else
{
int numOfOnes = totalSticks / 2 ;
ull int mul = 1 ;
while ( numOfOnes-- )
{
maxNumber + = mul;
mul * = 10 ;
}
cout << maxNumber << endl;
}
}
return 0 ;
}
//APPROACHING A QUESTION
//+ Think of binary search (max of min etc also if n<=2*10^5)
//+ Think of common dp states (Even if it appears as maths but constraints are small)
//+ Check constraints
//+ Keep calm and enjoy the question
//+ Be sure to remove MOD from binpow (if needed)
//+ Try bidirectional analysis for constructive questions
//+ If given some sequence try thinking of prefix sums
//+ If constraints are too large maybe its simple maths
//+ In questions with binary operations think of bits independently and also the change pattern
//+ If two or more binary operations are given mostly there is a relation between them and an arithmatic operator
Ly98fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fnwKLy98ICAgICAgICAgICAgICAgICAgICAgIEFVVEhPUiAtIEFubW9sVG9tZXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLy98fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fnwKLy9Db21waWxlOiBnKysgLXN0ZD1jKysxNCAtTzIgLVdhbGwgdGVzdC5jcHAgLW8gdGVzdC5vdXQKLy9EZWJ1ZzogZysrIC1nIC1zdGQ9YysrMTQgLU8yIC1XYWxsIHRlc3QuY3BwIC1vIHRlc3Qub3V0Ci8vIFByb2JsZW0gTGluazogaHR0cHM6Ly93Li4uY29udGVudC1hdmFpbGFibGUtdG8tYXV0aG9yLW9ubHkuLi5oLmNvbS9wcmFjdGljZS9iYXNpYy1wcm9ncmFtbWluZy9pbnB1dC1vdXRwdXQvYmFzaWNzLW9mLWlucHV0LW91dHB1dC9wcmFjdGljZS1wcm9ibGVtcy9hbGdvcml0aG0vc2V2ZW4tc2VnbWVudC1kaXNwbGF5LW5vdi1lYXN5LWU3Zjg3Y2UwLwojaW5jbHVkZSA8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnR5cGVkZWYgdmVjdG9yPGludD4gdmk7CnR5cGVkZWYgcGFpcjxpbnQsIGludD4gcGlpOwojZGVmaW5lIGVuZGwgIlxuIgojZGVmaW5lIHNkKHZhbCkgc2NhbmYoIiVkIiwgJnZhbCkKI2RlZmluZSBwZCh2YWwpIHByaW50ZigiJWRcbiIsIHZhbCkKI2RlZmluZSBSRVAoYSwgYikgZm9yIChpbnQgaSA9IGE7IGkgPCBiOyBpKyspCiNkZWZpbmUgUkVQMShhLCBiKSBmb3IgKGludCBpID0gYTsgaSA8PSBiOyBpKyspCiNkZWZpbmUgZnJyKGksIG4pIGZvciAoaW50IGkgPSAwOyBpIDwgKG4pOyBpKyspCiNkZWZpbmUgc3ModmFsKSBzY2FuZigiJXMiLCAmdmFsKQojZGVmaW5lIHN1bGwodmFsKSBzY2FuZigiJWxsdSIsICZ2YWwpCiNkZWZpbmUgc2wodmFsKSBzY2FuZigiJWxsZCIsICZ2YWwpCiNkZWZpbmUgZGVidWcodmFsKSBwcmludGYoImNoZWNrJWRcbiIsIHZhbCkKI2RlZmluZSBhbGwodikgdi5iZWdpbigpLCB2LmVuZCgpCiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgbXAgbWFrZV9wYWlyCiNkZWZpbmUgZmYgZmlyc3QKI2RlZmluZSBzYyBzZWNvbmQKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSB1bGwgdW5zaWduZWQgbG9uZyBsb25nCiNkZWZpbmUgTU9EIDEwMDAwMDAwMDcKI2RlZmluZSB3KHQpICBcCiAgICBpbnQgdDsgICAgXAogICAgY2luID4+IHQ7IFwKICAgIHdoaWxlICh0LS0pCiNkZWZpbmUgY2xyKHZhbCkgbWVtc2V0KHZhbCwgMCwgc2l6ZW9mKHZhbCkpCiNkZWZpbmUgd2hhdF9pcyh4KSBjZXJyIDw8ICN4IDw8ICIgaXMgIiA8PCB4IDw8IGVuZGw7CiNkZWZpbmUgT0ogICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgZnJlb3BlbigiaW5wdXQudHh0IiwgInIiLCBzdGRpbik7IFwKICAgIGZyZW9wZW4oIm91dHB1dC50eHQiLCAidyIsIHN0ZG91dCk7CiNkZWZpbmUgRklPICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7IFwKICAgIGNpbi50aWUoTlVMTCk7ICAgICAgICAgICAgICAgICAgICBcCiAgICBjb3V0LnRpZShOVUxMKTsKCi8vIDw9PT09PT09RU5EIE9GIFRFTVBMQVRFPT09PT09PT09PT09PT4Kdm9pZCBzb2x2ZSgpOwppbnQgbWFpbigpCnsKICAgIC8vCU9KOwogICAgLy8JRklPOwogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOwogICAgbWFwPGludCwgaW50PiBtOwogICAgLy8gMTU2NzMgd2lsbCB1c2UgMis1KzYrMys1ID0gMjEgc3RpY2tzCiAgICAvLyBJZiB0b3RhbCBudW1iZXIgb2Ygc3RpY2tzID09IGV2ZW4gdGhlbiBtYWtlIGEgbnVtYmVyIHVzaW5nIGFzIG1hbnkgc3RpY2tzIG9mIDEgYXMgaXQgaXMgdGhlIHNtYWxsZXN0IG51bWJlciBlLmcuIGluc3RlYWQgb2YgbWFraW5nIG5pbmUgd2l0aCA2IHN0aWNrcywgeW91IGNvdWxkIG1ha2UgMTExIHdpdGggNiBzdGlja3MsIGFzIG51bWJlciBvbmUgdGFrZXMgMiBzdGlja3MuCiAgICAvLyBJZiBudW1iZXJvZlN0aWNrcyA9PSBvZGQsIHRoZW4gbGFyZ2VzdCBudW1iZXIgd2l0aCBhcyBmZXcgc3RpY2tzIHRoYXQgd2UgY2FuIG1ha2UgaXMgNyB3aGljaCB1c2VzIG9ubHkgMyBzdGlja3MsIHNvIHN1YnRyYWN0IDMgZnJvbSB0b3RhbCBzdGlja3MsIHRoYXQgd291bGQgbWFrZSB5b3VyIHRvdGFsU3RpY2tzIGFzIGV2ZW4gYW5kIHRoZW4gYWdhaW4gdXNlIGFsbCB0aGUgZXZlbiBudW1iZXIgb2Ygc3RpY2tzIGZvciBtYWtpbmcgbnVtYmVyIHdpdGggMSwgc29tZXRoaW5nIGxpa2UgdGhpcywgc2F5IHlvdSBoYXZlIDExIHN0aWNrcyB0aGVuIHlvdSB3b3VsZCBtYWtlIGEgNyB3aXRoIDMgc3RpY2tzIGxlYXZpbmcgeW91IHdpdGggOCBzdGlja3MgYW5kIHdpdGggOCBzdGlja3MgeW91IGNhbiBtYWtlIDExMTEgYW5kIHBsYWNpbmcgbGFyZ2VzIG51bWJlciA3IGluIGZyb250IGdpdmVzIHlvdSBsYXJnZXN0IG51bWJlciBhcyA3MTExMSB1c2luZyAxMSBzdGlja3MuCiAgICBtLmluc2VydChwaWkoMCwgNikpOwogICAgbS5pbnNlcnQocGlpKDEsIDIpKTsKICAgIG0uaW5zZXJ0KHBpaSgyLCA1KSk7CiAgICBtLmluc2VydChwaWkoMywgNSkpOwogICAgbS5pbnNlcnQocGlpKDQsIDQpKTsKICAgIG0uaW5zZXJ0KHBpaSg1LCA1KSk7CiAgICBtLmluc2VydChwaWkoNiwgNikpOwogICAgbS5pbnNlcnQocGlpKDcsIDMpKTsKICAgIG0uaW5zZXJ0KHBpaSg4LCA3KSk7CiAgICBtLmluc2VydChwaWkoOSwgNikpOwogICAgdyh0KQogICAgewoKICAgICAgICBpbnQgbjsKICAgICAgICBjaW4gPj4gbjsKICAgICAgICBpbnQgdG90YWxTdGlja3MgPSAwOwoKICAgICAgICB3aGlsZSAobiA+IDEwKQogICAgICAgIHsKICAgICAgICAgICAgZm9yIChhdXRvIGUgOiBtKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAvLyBjb3V0IDw8ICJOIGJlZm9yZSBuJTEwID0gIiA8PCBuICUgMTAgPDwgZW5kbDsKICAgICAgICAgICAgICAgIGlmIChlLmZpcnN0ID09IChuICUgMTApKQogICAgICAgICAgICAgICAgICAgIHRvdGFsU3RpY2tzICs9IGUuc2Vjb25kOwogICAgICAgICAgICB9CiAgICAgICAgICAgIG4gLz0gMTA7CiAgICAgICAgICAgIC8vIGNvdXQgPDwgIk4gYWZ0ZXIgbi8xMCA9ICIgPDwgbiA8PCBlbmRsOwogICAgICAgIH0KICAgICAgICAvLyBjb3V0IDw8ICJOIG91dHNpZGUgdGhlIGxvb3A6ICIgPDwgbiA8PCBlbmRsOwogICAgICAgIGZvciAoYXV0byBlIDogbSkKICAgICAgICB7CiAgICAgICAgICAgIGlmIChlLmZpcnN0ID09IChuICUgMTApKQogICAgICAgICAgICAgICAgdG90YWxTdGlja3MgKz0gZS5zZWNvbmQ7CiAgICAgICAgfQogICAgICAgIC8vIGNvdXQgPDwgIkZpbmFsIHRvdGFsc3RpY2tzID0gIiA8PCB0b3RhbFN0aWNrcyA8PCBlbmRsOwogICAgICAgIHVsbCBpbnQgbWF4TnVtYmVyID0gMDsKICAgICAgICBpZiAodG90YWxTdGlja3MgJSAyICE9IDApCiAgICAgICAgewogICAgICAgICAgICBpbnQgc3BsaXQgPSAzOwogICAgICAgICAgICB0b3RhbFN0aWNrcyAtPSAzOwogICAgICAgICAgICBpbnQgbnVtT2ZPbmVzID0gdG90YWxTdGlja3MgLyAyOwogICAgICAgICAgICB1bGwgaW50IG11bCA9IDE7CgogICAgICAgICAgICB3aGlsZSAobnVtT2ZPbmVzLS0pCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIG1heE51bWJlciArPSBtdWw7CiAgICAgICAgICAgICAgICBtdWwgKj0gMTA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgbWF4TnVtYmVyICs9IDcgKiBtdWw7CgogICAgICAgICAgICBjb3V0IDw8IG1heE51bWJlciA8PCBlbmRsOwogICAgICAgIH0KICAgICAgICBlbHNlCiAgICAgICAgewogICAgICAgICAgICBpbnQgbnVtT2ZPbmVzID0gdG90YWxTdGlja3MgLyAyOwogICAgICAgICAgICB1bGwgaW50IG11bCA9IDE7CiAgICAgICAgICAgIHdoaWxlIChudW1PZk9uZXMtLSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgbWF4TnVtYmVyICs9IG11bDsKICAgICAgICAgICAgICAgIG11bCAqPSAxMDsKICAgICAgICAgICAgfQogICAgICAgICAgICBjb3V0IDw8IG1heE51bWJlciA8PCBlbmRsOwogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gMDsKfQoKLy9BUFBST0FDSElORyBBIFFVRVNUSU9OCi8vKyBUaGluayBvZiBiaW5hcnkgc2VhcmNoIChtYXggb2YgbWluIGV0YyBhbHNvIGlmIG48PTIqMTBeNSkKLy8rIFRoaW5rIG9mIGNvbW1vbiBkcCBzdGF0ZXMgKEV2ZW4gaWYgaXQgYXBwZWFycyBhcyBtYXRocyBidXQgY29uc3RyYWludHMgYXJlIHNtYWxsKQovLysgQ2hlY2sgY29uc3RyYWludHMKLy8rIEtlZXAgY2FsbSBhbmQgZW5qb3kgdGhlIHF1ZXN0aW9uCi8vKyBCZSBzdXJlIHRvIHJlbW92ZSBNT0QgZnJvbSBiaW5wb3cgKGlmIG5lZWRlZCkKLy8rIFRyeSBiaWRpcmVjdGlvbmFsIGFuYWx5c2lzIGZvciBjb25zdHJ1Y3RpdmUgcXVlc3Rpb25zCi8vKyBJZiBnaXZlbiBzb21lIHNlcXVlbmNlIHRyeSB0aGlua2luZyBvZiBwcmVmaXggc3VtcwovLysgSWYgY29uc3RyYWludHMgYXJlIHRvbyBsYXJnZSBtYXliZSBpdHMgc2ltcGxlIG1hdGhzCi8vKyBJbiBxdWVzdGlvbnMgd2l0aCBiaW5hcnkgb3BlcmF0aW9ucyB0aGluayBvZiBiaXRzIGluZGVwZW5kZW50bHkgYW5kIGFsc28gdGhlIGNoYW5nZSBwYXR0ZXJuCi8vKyBJZiB0d28gb3IgbW9yZSBiaW5hcnkgb3BlcmF0aW9ucyBhcmUgZ2l2ZW4gbW9zdGx5IHRoZXJlIGlzIGEgcmVsYXRpb24gYmV0d2VlbiB0aGVtIGFuZCBhbiBhcml0aG1hdGljIG9wZXJhdG9y