QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#860932#9980. Boolean Function Reconstructionucup-team987#AC ✓322ms4096kbC++202.0kb2025-01-18 15:37:062025-01-18 15:37:44

Judging History

你现在查看的是最新测评结果

  • [2025-01-18 15:37:44]
  • 评测
  • 测评结果:AC
  • 用时:322ms
  • 内存:4096kb
  • [2025-01-18 15:37:06]
  • 提交

answer

#include<iostream>
#include<tuple>
#include<vector>
#include<cassert>
#include<random>
using namespace std;
int n;
string S;
string ans;
void dfs(vector<int>ex,int i)
{
	assert(!ex.empty());
	assert(i>=0);
	if(i==0)
	{
		assert(ex.size()==1);
		assert(ex[0]==0||ex[0]==1);
		if(ex[0]==0)ans+='T';
		else ans+='a';
		return;
	}
	vector<int>l,r;
	for(int u:ex)
	{
		if(u>>i&1)r.push_back(u^1<<i);
		else l.push_back(u);
	}
	char a='a'+i;
	int nrest=i-1;
	if(l.empty())
	{
		if(r.size()==1&&r[0]==0)
		{
			ans+=a;
		}
		else
		{
			ans+='(';
			ans+=a;
			ans+='&';
			dfs(r,nrest);
			ans+=')';
		}
	}
	else if(r.empty())dfs(l,nrest);
	else
	{
		ans+='(';
		dfs(l,nrest);
		ans+='|';
		if(r.size()==1&&r[0]==0)ans+=a;
		else
		{
			ans+='(';
			ans+=a;
			ans+='&';
			dfs(r,nrest);
			ans+=')';
		}
		ans+=')';
	}
}
bool solve()
{
	assert(S.size()==(1<<n));
	for(int i=0;i<1<<n;i++)if(S[i]=='1')
	{
		for(int j=0;j<n;j++)if(S[i|1<<j]=='0')return false;
	}
	vector<int>ex;
	for(int i=0;i<1<<n;i++)if(S[i]=='1')
	{
		bool fn=false;
		for(int j=0;j<n;j++)if(i>>j&1&&S[i^1<<j]=='1')fn=true;
		if(!fn)ex.push_back(i);
	}
	if(ex.empty())
	{
		ans="F";
		return true;
	}
	else
	{
		ans="";
		dfs(ex,n-1);
		int cnt=0;
		for(char c:ans)if(c=='|'||c=='&')cnt++;
		assert(cnt<=(1<<n-1)+10);
	}
	return true;
}
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	/*
	for(n=1;n<=15;n++)
	{
		for(int k=0;k<=n+1;k++)
		{
			S=string(1<<n,'0');
			for(int i=0;i<1<<n;i++)if(__builtin_popcount(i)>=k)S[i]='1';
			cout<<n<<" "<<k<<endl;
			assert(solve());
		}
	}
	mt19937 rng;
	while(true)
	{
		n=rng()%15+1;
		S=string(1<<n,'0');
		for(int i=0;i<1<<n;i++)if(rng()%10==0)S[i]='1';
		for(int i=0;i<1<<n;i++)if(S[i]=='1')
		{
			for(int j=0;j<n;j++)S[i|1<<j]='1';
		}
		cout<<n<<endl;
		assert(solve());
	}
	*/
	int T;cin>>T;
	for(;T--;)
	{
		cin>>n>>S;
		if(!solve())cout<<"No\n";
		else
		{
			cout<<"Yes\n";
			cout<<ans<<"\n";
		}
	}
}

这程序好像有点Bug,我给组数据试试?

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3712kb

input:

7
2
0001
2
0111
2
1111
3
00010111
1
10
2
0101
5
00000000000000000000000000000001

output:

Yes
(b&a)
Yes
(a|b)
Yes
T
Yes
((b&a)|(c&(a|b)))
No
Yes
a
Yes
(e&(d&(c&(b&a))))

result:

ok 7 lines, tightest: 4 out of 14 (7 test cases)

Test #2:

score: 0
Accepted
time: 0ms
memory: 3712kb

input:

4
1
00
1
10
1
01
1
11

output:

Yes
F
No
Yes
a
Yes
T

result:

ok 4 lines, tightest: 0 out of 11 (4 test cases)

Test #3:

score: 0
Accepted
time: 1ms
memory: 3712kb

input:

16
2
0000
2
1000
2
0100
2
1100
2
0010
2
1010
2
0110
2
1110
2
0001
2
1001
2
0101
2
1101
2
0011
2
1011
2
0111
2
1111

output:

Yes
F
No
No
No
No
No
No
No
Yes
(b&a)
No
Yes
a
No
Yes
b
No
Yes
(a|b)
Yes
T

result:

ok 16 lines, tightest: 1 out of 12 (16 test cases)

Test #4:

score: 0
Accepted
time: 1ms
memory: 3712kb

input:

256
3
00000000
3
10000000
3
01000000
3
11000000
3
00100000
3
10100000
3
01100000
3
11100000
3
00010000
3
10010000
3
01010000
3
11010000
3
00110000
3
10110000
3
01110000
3
11110000
3
00001000
3
10001000
3
01001000
3
11001000
3
00101000
3
10101000
3
01101000
3
11101000
3
00011000
3
10011000
3
01011000...

output:

Yes
F
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
...

result:

ok 256 lines, tightest: 4 out of 14 (256 test cases)

Test #5:

score: 0
Accepted
time: 6ms
memory: 3584kb

input:

65536
4
0000000000000000
4
1000000000000000
4
0100000000000000
4
1100000000000000
4
0010000000000000
4
1010000000000000
4
0110000000000000
4
1110000000000000
4
0001000000000000
4
1001000000000000
4
0101000000000000
4
1101000000000000
4
0011000000000000
4
1011000000000000
4
0111000000000000
4
1111000...

output:

Yes
F
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
...

result:

ok 65536 lines, tightest: 8 out of 18 (65536 test cases)

Test #6:

score: 0
Accepted
time: 1ms
memory: 3712kb

input:

168
4
0000000000000000
4
0000000000000001
4
0000000000000011
4
0000000000000101
4
0000000000000111
4
0000000000001111
4
0000000000010001
4
0000000000010011
4
0000000000010101
4
0000000000010111
4
0000000000011111
4
0000000000110011
4
0000000000110111
4
0000000000111111
4
0000000001010101
4
000000000...

output:

Yes
F
Yes
(d&(c&(b&a)))
Yes
(d&(c&b))
Yes
(d&(c&a))
Yes
(d&(c&(a|b)))
Yes
(d&c)
Yes
(d&(b&a))
Yes
(d&((b&a)|(c&b)))
Yes
(d&((b&a)|(c&a)))
Yes
(d&((b&a)|(c&(a|b))))
Yes
(d&((b&a)|c))
Yes
(d&b)
Yes
(d&(b|(c&a)))
Yes
(d&(b|c))
Yes
(d&a)
Yes
(d&(a|(c&b)))
Yes
(d&(a|c))
Yes
(d&(a|b))
Yes
(d&((a|b)|c))
Ye...

result:

ok 168 lines, tightest: 8 out of 18 (168 test cases)

Test #7:

score: 0
Accepted
time: 8ms
memory: 3712kb

input:

7581
5
00000000000000000000000000000000
5
00000000000000000000000000000001
5
00000000000000000000000000000011
5
00000000000000000000000000000101
5
00000000000000000000000000000111
5
00000000000000000000000000001111
5
00000000000000000000000000010001
5
00000000000000000000000000010011
5
0000000000000...

output:

Yes
F
Yes
(e&(d&(c&(b&a))))
Yes
(e&(d&(c&b)))
Yes
(e&(d&(c&a)))
Yes
(e&(d&(c&(a|b))))
Yes
(e&(d&c))
Yes
(e&(d&(b&a)))
Yes
(e&(d&((b&a)|(c&b))))
Yes
(e&(d&((b&a)|(c&a))))
Yes
(e&(d&((b&a)|(c&(a|b)))))
Yes
(e&(d&((b&a)|c)))
Yes
(e&(d&b))
Yes
(e&(d&(b|(c&a))))
Yes
(e&(d&(b|c)))
Yes
(e&(d&a))
Yes
(e&(d&...

result:

ok 7581 lines, tightest: 18 out of 26 (7581 test cases)

Test #8:

score: 0
Accepted
time: 1ms
memory: 3712kb

input:

14
1
01
2
0111
3
00010111
4
0001011101111111
5
00000001000101110001011101111111
6
0000000100010111000101110111111100010111011111110111111111111111
7
00000000000000010000000100010111000000010001011100010111011111110000000100010111000101110111111100010111011111110111111111111111
8
00000000000000010000...

output:

Yes
a
Yes
(a|b)
Yes
((b&a)|(c&(a|b)))
Yes
(((b&a)|(c&(a|b)))|(d&((a|b)|c)))
Yes
(((c&(b&a))|(d&((b&a)|(c&(a|b)))))|(e&(((b&a)|(c&(a|b)))|(d&((a|b)|c)))))
Yes
((((c&(b&a))|(d&((b&a)|(c&(a|b)))))|(e&(((b&a)|(c&(a|b)))|(d&((a|b)|c)))))|(f&((((b&a)|(c&(a|b)))|(d&((a|b)|c)))|(e&(((a|b)|c)|d)))))
Yes
((((...

result:

ok 14 lines, tightest: 68 out of 74 (14 test cases)

Test #9:

score: 0
Accepted
time: 2ms
memory: 3968kb

input:

14
1
01
2
0001
3
00010111
4
0000000100010111
5
00000001000101110001011101111111
6
0000000000000001000000010001011100000001000101110001011101111111
7
00000000000000010000000100010111000000010001011100010111011111110000000100010111000101110111111100010111011111110111111111111111
8
00000000000000000000...

output:

Yes
a
Yes
(b&a)
Yes
((b&a)|(c&(a|b)))
Yes
((c&(b&a))|(d&((b&a)|(c&(a|b)))))
Yes
(((c&(b&a))|(d&((b&a)|(c&(a|b)))))|(e&(((b&a)|(c&(a|b)))|(d&((a|b)|c)))))
Yes
(((d&(c&(b&a)))|(e&((c&(b&a))|(d&((b&a)|(c&(a|b)))))))|(f&(((c&(b&a))|(d&((b&a)|(c&(a|b)))))|(e&(((b&a)|(c&(a|b)))|(d&((a|b)|c)))))))
Yes
((((...

result:

ok 14 lines, tightest: 68 out of 74 (14 test cases)

Test #10:

score: 0
Accepted
time: 2ms
memory: 3840kb

input:

14
1
00
2
0001
3
00000001
4
0000000100010111
5
00000000000000010000000100010111
6
0000000000000001000000010001011100000001000101110001011101111111
7
00000000000000000000000000000001000000000000000100000001000101110000000000000001000000010001011100000001000101110001011101111111
8
00000000000000000000...

output:

Yes
F
Yes
(b&a)
Yes
(c&(b&a))
Yes
((c&(b&a))|(d&((b&a)|(c&(a|b)))))
Yes
((d&(c&(b&a)))|(e&((c&(b&a))|(d&((b&a)|(c&(a|b)))))))
Yes
(((d&(c&(b&a)))|(e&((c&(b&a))|(d&((b&a)|(c&(a|b)))))))|(f&(((c&(b&a))|(d&((b&a)|(c&(a|b)))))|(e&(((b&a)|(c&(a|b)))|(d&((a|b)|c)))))))
Yes
(((e&(d&(c&(b&a))))|(f&((d&(c&(b...

result:

ok 14 lines, tightest: 33 out of 42 (14 test cases)

Test #11:

score: 0
Accepted
time: 1ms
memory: 3712kb

input:

14
1
00
2
0000
3
00000001
4
0000000000000001
5
00000000000000010000000100010111
6
0000000000000000000000000000000100000000000000010000000100010111
7
00000000000000000000000000000001000000000000000100000001000101110000000000000001000000010001011100000001000101110001011101111111
8
00000000000000000000...

output:

Yes
F
Yes
F
Yes
(c&(b&a))
Yes
(d&(c&(b&a)))
Yes
((d&(c&(b&a)))|(e&((c&(b&a))|(d&((b&a)|(c&(a|b)))))))
Yes
((e&(d&(c&(b&a))))|(f&((d&(c&(b&a)))|(e&((c&(b&a))|(d&((b&a)|(c&(a|b)))))))))
Yes
(((e&(d&(c&(b&a))))|(f&((d&(c&(b&a)))|(e&((c&(b&a))|(d&((b&a)|(c&(a|b)))))))))|(g&(((d&(c&(b&a)))|(e&((c&(b&a))|...

result:

ok 14 lines, tightest: 0 out of 11 (14 test cases)

Test #12:

score: 0
Accepted
time: 1ms
memory: 4096kb

input:

1
15
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000...

output:

Yes
((((((((h&(g&(f&(e&(d&(c&(b&a)))))))|(i&((g&(f&(e&(d&(c&(b&a))))))|(h&((f&(e&(d&(c&(b&a)))))|(g&((e&(d&(c&(b&a))))|(f&((d&(c&(b&a)))|(e&((c&(b&a))|(d&((b&a)|(c&(a|b)))))))))))))))|(j&(((g&(f&(e&(d&(c&(b&a))))))|(h&((f&(e&(d&(c&(b&a)))))|(g&((e&(d&(c&(b&a))))|(f&((d&(c&(b&a)))|(e&((c&(b&a))|(d&((...

result:

ok 1 lines, tightest: 12868 out of 16394 (1 test case)

Test #13:

score: 0
Accepted
time: 3ms
memory: 4096kb

input:

1
15
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000100000000000000010000000100010111000000000000000000000000000000000000000...

output:

Yes
(((((((((g&(f&(e&(d&(c&(b&a))))))|(h&((f&(e&(d&(c&(b&a)))))|(g&((e&(d&(c&(b&a))))|(f&((d&(c&(b&a)))|(e&((c&(b&a))|(d&((b&a)|(c&(a|b)))))))))))))|(i&(((f&(e&(d&(c&(b&a)))))|(g&((e&(d&(c&(b&a))))|(f&((d&(c&(b&a)))|(e&((c&(b&a))|(d&((b&a)|(c&(a|b)))))))))))|(h&(((e&(d&(c&(b&a))))|(f&((d&(c&(b&a)))|...

result:

ok 1 lines, tightest: 11438 out of 16394 (1 test case)

Test #14:

score: 0
Accepted
time: 2ms
memory: 3968kb

input:

1
15
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

Yes
(((((((i&(h&(g&(f&(e&(d&(c&(b&a))))))))|(j&((h&(g&(f&(e&(d&(c&(b&a)))))))|(i&((g&(f&(e&(d&(c&(b&a))))))|(h&((f&(e&(d&(c&(b&a)))))|(g&((e&(d&(c&(b&a))))|(f&((d&(c&(b&a)))|(e&((c&(b&a))|(d&((b&a)|(c&(a|b)))))))))))))))))|(k&(((h&(g&(f&(e&(d&(c&(b&a)))))))|(i&((g&(f&(e&(d&(c&(b&a))))))|(h&((f&(e&(d...

result:

ok 1 lines, tightest: 11438 out of 16394 (1 test case)

Test #15:

score: 0
Accepted
time: 2ms
memory: 3968kb

input:

1
15
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

Yes
((((((j&(i&(h&(g&(f&(e&(d&(c&(b&a)))))))))|(k&((i&(h&(g&(f&(e&(d&(c&(b&a))))))))|(j&((h&(g&(f&(e&(d&(c&(b&a)))))))|(i&((g&(f&(e&(d&(c&(b&a))))))|(h&((f&(e&(d&(c&(b&a)))))|(g&((e&(d&(c&(b&a))))|(f&((d&(c&(b&a)))|(e&((c&(b&a))|(d&((b&a)|(c&(a|b)))))))))))))))))))|(l&(((i&(h&(g&(f&(e&(d&(c&(b&a))))...

result:

ok 1 lines, tightest: 8006 out of 16394 (1 test case)

Test #16:

score: 0
Accepted
time: 140ms
memory: 3712kb

input:

65536
6
0000001101111111000111111111111101111111111111111111111111111111
6
0000000000000000000100110011011100000000000000000001001100111111
6
0101010101110111011101111111111101110111111111111111111111111111
6
0000001100000011000000110001011100011111001111110011111100111111
6
000000010001011100000001...

output:

Yes
((((c&b)|(d&((a|b)|c)))|(e&(((b&a)|c)|d)))|(f&((((a|b)|c)|d)|e)))
Yes
((e&(((b&a)|(c&b))|(d&(b|(c&a)))))|(f&(e&(d&c))))
Yes
(((a|(d&b))|(e&(b|d)))|(f&((b|d)|e)))
Yes
(((c&b)|(e&(d&((b&a)|(c&a)))))|(f&((((b&a)|c)|(d&b))|(e&b))))
Yes
(((c&(b&a))|(d&((b&a)|(c&(a|b)))))|(f&(((b&a)|(c&(a|b)))|(d&b)))...

result:

ok 65536 lines, tightest: 33 out of 42 (65536 test cases)

Test #17:

score: 0
Accepted
time: 276ms
memory: 3712kb

input:

65536
7
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
7
00000001000100010001000101110111000100010111011101110111011111110001000101110111011101110111111100010001011101110111011111111111
7
000000010001001100000001001101...

output:

Yes
(g&(f&(e&(d&(c&(b&a))))))
Yes
(((((c&(b&a))|(d&(b&a)))|(e&((b&a)|(d&(a|b)))))|(f&(((b&a)|(d&(a|b)))|(e&((a|b)|(d&c))))))|(g&((((b&a)|(d&(a|b)))|(e&((a|b)|(d&c))))|(f&(e&d)))))
Yes
(((((c&(b&a))|(d&((b&a)|(c&b))))|(e&(d&(b|(c&a)))))|(f&((((b&a)|(c&b))|(d&((a|b)|c)))|(e&(b|(c&a))))))|(g&((e&(c&b))...

result:

ok 65536 lines, tightest: 68 out of 74 (65536 test cases)

Test #18:

score: 0
Accepted
time: 143ms
memory: 3712kb

input:

16384
8
0000000000000000000000000000000000000000000000000000000000010001000000000000000000000000000100010000000000010001000100010011011100000000000000000000000000010001000000000001000100010001011101110000000000000001000100010011011100010001000101110011011101111111
8
000101010101011100010101011101110...

output:

Yes
(((f&(e&(d&(b&a))))|(g&((e&(d&(b&a)))|(f&((d&(b&a))|(e&((b&a)|(d&(b|(c&a))))))))))|(h&(((e&(d&(b&a)))|(f&((d&(b&a))|(e&((b&a)|(d&(a|b)))))))|(g&(((d&(c&(b&a)))|(e&((b&a)|(d&(b|(c&a))))))|(f&(((b&a)|(d&(c&(a|b))))|(e&((b|(c&a))|(d&c))))))))))
Yes
(((((((b&a)|(c&a))|(d&(a|(c&b))))|(e&(d&b)))|(f&((...

result:

ok 16384 lines, tightest: 119 out of 138 (16384 test cases)

Test #19:

score: 0
Accepted
time: 74ms
memory: 3712kb

input:

4096
9
00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000111000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000001000101110000000000000000000000010001011100000...

output:

Yes
((((f&(e&(d&(c&(b&a)))))|(g&(f&(e&(d&(c&(a|b)))))))|(h&(g&(f&(e&((c&(b&a))|(d&(b&a))))))))|(i&((((e&((c&(b&a))|(d&((b&a)|(c&(a|b))))))|(f&((d&(c&(b&a)))|(e&(((a|b)|c)|d)))))|(g&((e&(((b&a)|(c&(a|b)))|(d&((a|b)|c))))|(f&((c&(b&a))|(d&((b&a)|(c&(a|b)))))))))|(h&((e&(d&c))|(g&(f&e)))))))
Yes
((((((...

result:

ok 4096 lines, tightest: 237 out of 266 (4096 test cases)

Test #20:

score: 0
Accepted
time: 37ms
memory: 3584kb

input:

1024
10
0000000000000000000000000000000100000000000000110000000000000011000000000000000100000000000000110000000000000011000000010000001100000000000000110000000000000011000000000000001100000011000001110000000000000011000000000000001100000011000001110000001100011111000000000000001100000000000000110000...

output:

Yes
((((((e&(d&(c&(b&a))))|(f&(d&(c&b))))|(g&(((d&(c&(b&a)))|(e&(d&(c&b))))|(f&(e&(c&(b&a)))))))|(h&(((d&(c&b))|(f&(e&((c&b)|(d&(c&a))))))|(g&(f&(((c&b)|(d&(c&a)))|(e&(d&((b&a)|c)))))))))|(i&((((d&(c&b))|(f&(((c&(b&a))|(d&(c&a)))|(e&((c&b)|(d&c))))))|(g&(f&(((c&b)|(d&((b&a)|c)))|(e&(d&b))))))|(h&((f...

result:

ok 1024 lines, tightest: 370 out of 522 (1024 test cases)

Test #21:

score: 0
Accepted
time: 19ms
memory: 3840kb

input:

256
11
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

Yes
(((i&(h&((f&(((c&(b&a))|(d&(c&b)))|(e&((c&b)|(d&(b&a))))))|(g&(f&((c&b)|(e&(d&b))))))))|(j&((h&((f&(((c&b)|(d&(b&a)))|(e&(d&(b|(c&a))))))|(g&(f&(e&(b&a))))))|(i&(((f&((c&b)|(e&(d&b))))|(g&(f&(d&(b&a)))))|(h&((((c&b)|(e&(d&b)))|(f&(((b|c)|d)|(e&a))))|(g&(f&e)))))))))|(k&((i&(h&((f&(((c&b)|(d&(b&a...

result:

ok 256 lines, tightest: 665 out of 1034 (256 test cases)

Test #22:

score: 0
Accepted
time: 10ms
memory: 3840kb

input:

64
12
000101011111111101111111111111110001011111111111011111111111111100010111111111110111111111111111000101111111111101111111111111110001010111111111011111111111111100010111111111110111111111111111000101111111111101111111111111110001011111111111111111111111111101111111111111111111111111111111011111...

output:

Yes
(((((((((((b&a)|(c&a))|d)|(e&((a|b)|c)))|(f&(c&b)))|(g&(c&b)))|(h&(g&(f&e))))|(i&(((a|b)|c)|e)))|(j&(((c&b)|e)|(i&((g&f)|(h&f))))))|(k&(((((((a|b)|c)|e)|f)|(h&g))|i)|j)))|(l&(((((((c&b)|e)|(f&a))|(h&(g&(a|(f&c)))))|i)|(j&(a|c)))|k)))
Yes
(((((((f&(e&(d&(c&(b&a)))))|(g&((e&(c&(b&a)))|(f&((d&(c&(b...

result:

ok 64 lines, tightest: 1266 out of 2058 (64 test cases)

Test #23:

score: 0
Accepted
time: 6ms
memory: 3840kb

input:

16
13
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011000000000000000000000000000000000011111111111111111111111111111100000000000000000000000000000000000000...

output:

Yes
((((((h&((f&(e&(d&(c&b))))|(g&(f&(((b|c)|d)|e)))))|(i&((g&(f&(e&((c&b)|(d&(c&a))))))|(h&((f&(((c&b)|(d&(c&a)))|(e&((b|c)|d))))|(g&(((d&(c&b))|(e&((c&(a|b))|(d&(b|c)))))|f)))))))|(j&((((f&(e&(d&(c&(b&a)))))|(g&(f&(((c&b)|(d&(b|c)))|e))))|(h&(((e&((c&(b&a))|(d&(c&b))))|f)|(g&(((b|c)|d)|e)))))|(i&(...

result:

ok 16 lines, tightest: 1774 out of 4106 (16 test cases)

Test #24:

score: 0
Accepted
time: 3ms
memory: 3840kb

input:

4
14
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

Yes
(((((j&(i&(((f&(e&(c&b)))|(g&(f&(e&(b&a)))))|(h&(f&((c&(b&a))|(e&(b|(c&a)))))))))|(k&((i&((f&(e&(c&b)))|(h&(f&(e&(b&a))))))|(j&((f&(e&(c&b)))|(i&((f&(((b&a)|(c&b))|(e&((a|b)|c))))|(h&(((e&(c&(b&a)))|(f&((b|(c&a))|e)))|(g&(f&(d&c))))))))))))|(l&((((h&((f&(e&(c&(b&a))))|(g&(f&(e&(c&b))))))|(i&(f&(...

result:

ok 4 lines, tightest: 2231 out of 8202 (4 test cases)

Test #25:

score: 0
Accepted
time: 2ms
memory: 3840kb

input:

4
14
0000000000000000000000000000000000000000000000000001000100010101000000000000000101010101010101010001010101010101011101110111111100000000000000000000000000000001000000000000000000010101010101010000000100010001010101010101011101010101010101010111111111111111000000000000000000010101010101010000000...

output:

Yes
(((((((((f&(e&((b&a)|(d&(c&a)))))|(g&(((d&(c&(b&a)))|(e&a))|(f&((((b&a)|(c&a))|(d&a))|(e&(b|(d&c))))))))|(h&(((e&(d&(c&(b&a))))|(f&(e&((c&a)|(d&a)))))|(g&((((c&(b&a))|(d&(b&a)))|(e&(d&(c&b))))|(f&(a|(e&(c|d)))))))))|(i&((((e&(((b&a)|(c&a))|(d&a)))|(f&(((c&(b&a))|(d&((b&a)|(c&a))))|(e&(a|(d&(c&b)...

result:

ok 4 lines, tightest: 1539 out of 8202 (4 test cases)

Test #26:

score: 0
Accepted
time: 2ms
memory: 3712kb

input:

4
14
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

Yes
(((l&(((i&(((f&(e&(d&(c&b))))|(g&((e&(d&(c&b)))|(f&(e&(d&c))))))|(h&(g&(f&(e&(c&b)))))))|(j&(i&(((e&(d&(c&(b&a))))|(g&(f&(e&(c&b)))))|(h&((e&(d&(c&b)))|(g&((e&((c&b)|(d&c)))|(f&(d&(c&b)))))))))))|(k&(j&(i&((e&(d&(c&b)))|(g&(e&(d&c)))))))))|(m&(l&(((i&((g&(f&(e&(c&b))))|(h&((e&(d&(c&b)))|(g&((e&(...

result:

ok 4 lines, tightest: 3380 out of 8202 (4 test cases)

Test #27:

score: 0
Accepted
time: 3ms
memory: 3840kb

input:

4
14
0000000000000000000000000001001100000000000000110000000000110011000000000011001100000000001100110000000000110011000000000011001100000000001100110000000000110011000000000011001100000000001100110001001100111111001100111111111100110011111111110011001111111111000000000011001100000011001101110000000...

output:

Yes
((((((((((e&(d&((b&a)|(c&b))))|(f&((d&(c&b))|(e&(d&b)))))|(g&(d&b)))|(h&((d&b)|(g&(((((b&a)|(c&b))|(d&c))|(e&(b|d)))|(f&(b|d)))))))|(i&(((((d&b)|(e&((c&b)|(d&(c&a)))))|(f&((c&(b&a))|(e&(b|d)))))|(g&(b|d)))|(h&((b|d)|(g&(((c&a)|e)|f)))))))|(j&((((((d&(c&(b&a)))|(e&(d&b)))|(f&(d&b)))|(g&(f&(e&(c&(...

result:

ok 4 lines, tightest: 1911 out of 8202 (4 test cases)

Test #28:

score: 0
Accepted
time: 4ms
memory: 3840kb

input:

4
14
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000001000000000000000000000000000000000000000...

output:

Yes
(((((((g&(f&(d&(c&(b&a)))))|(i&(((f&(d&(c&(b&a))))|(g&((d&(c&(b&a)))|(f&(d&(c&b))))))|(h&(d&(c&(b&a)))))))|(j&(((((d&(c&(b&a)))|(f&(d&(c&b))))|(g&(((c&(b&a))|(d&(c&b)))|(f&(d&((b&a)|(c&a)))))))|(h&((f&(c&(b&a)))|(g&(d&(b&a))))))|(i&((((((c&(b&a))|(d&(c&b)))|(e&(d&(b&a))))|(f&(d&((b&a)|(c&a)))))|...

result:

ok 4 lines, tightest: 2370 out of 8202 (4 test cases)

Test #29:

score: 0
Accepted
time: 0ms
memory: 3712kb

input:

1
15
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

Yes
((((l&(k&(j&(i&(h&(g&(f&(e&(d&(c&(b&a)))))))))))|(m&(l&((j&(i&(h&(g&(f&(e&(d&(c&(b&a)))))))))|(k&(j&(i&(h&(f&(e&(d&(c&(b&a)))))))))))))|(n&((((j&(i&(h&(g&(f&(e&(d&(c&(b&a)))))))))|(k&((i&(h&(g&(f&(e&(d&(c&(b&a))))))))|(j&(i&(h&(f&(e&(d&(c&(b&a)))))))))))|(l&(((i&(h&(f&(e&(d&(c&(b&a)))))))|(j&(i&...

result:

ok 1 lines, tightest: 1174 out of 16394 (1 test case)

Test #30:

score: 0
Accepted
time: 1ms
memory: 3840kb

input:

1
15
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

Yes
(((((((i&(h&(f&(e&(d&c)))))|(j&((h&((f&(e&(d&c)))|(g&(e&(d&(c&b))))))|(i&((g&(f&(e&(d&(c&(a|b))))))|(h&(((e&(d&c))|(f&((d&(c&b))|(e&(c|d)))))|(g&((e&((c&b)|(d&b)))|(f&(d&c)))))))))))|(k&((i&(h&(g&(e&(d&(c&(b&a)))))))|(j&(i&(((f&(e&(d&(c&b))))|(g&(f&(e&(d&c)))))|(h&(f&(d&(c&a))))))))))|(l&((((h&(...

result:

ok 1 lines, tightest: 2177 out of 16394 (1 test case)

Test #31:

score: 0
Accepted
time: 1ms
memory: 3840kb

input:

1
15
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000...

output:

Yes
((((((((h&(g&(f&(e&(d&(c&(b&a)))))))|(i&(h&((f&(e&(c&(b&a))))|(g&((e&(c&(b&a)))|(f&(e&(c&b)))))))))|(j&((h&((f&(e&(c&(b&a))))|(g&((e&(c&(b&a)))|(f&(e&(c&b)))))))|(i&((g&(f&(e&(c&(b&a)))))|(h&(((e&(c&(b&a)))|(f&(e&(c&b))))|(g&((e&(c&b))|(f&((c&(b&a))|(e&((b&a)|(c&a))))))))))))))|(k&(((h&(g&(f&(e&...

result:

ok 1 lines, tightest: 4807 out of 16394 (1 test case)

Test #32:

score: 0
Accepted
time: 2ms
memory: 3840kb

input:

1
15
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110000000000000000000000000000001100000000000000110000001100111111000000000000000000000000000000000000000...

output:

Yes
((((((((h&((f&(e&(d&(c&b))))|(g&((e&(d&(c&b)))|(f&((d&(c&b))|(e&((c&b)|(d&(b|c))))))))))|(i&(((f&(e&(d&(c&b))))|(g&((e&(d&(c&b)))|(f&((d&(c&(b&a)))|(e&((c&b)|(d&(b|c)))))))))|(h&((((d&(c&(b&a)))|(e&((c&b)|(d&((b&a)|c)))))|(f&(((c&(b&a))|(d&(c&(a|b))))|(e&(((b&a)|c)|(d&(a|b)))))))|(g&((((c&(b&a))...

result:

ok 1 lines, tightest: 3651 out of 16394 (1 test case)

Test #33:

score: 0
Accepted
time: 1ms
memory: 3840kb

input:

1
15
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

Yes
(((((k&((i&(h&((f&(e&(d&(c&(b&a)))))|(g&(f&(e&(d&(b&a))))))))|(j&(i&(h&(f&(e&(d&(b&a)))))))))|(l&((j&(i&(h&(g&(f&(e&(d&(c&(b&a)))))))))|(k&(((h&(g&(f&(e&(d&(c&(b&a)))))))|(i&(h&((f&(e&(d&(b&a))))|(g&(f&((d&(c&(b&a)))|(e&(d&(c&a))))))))))|(j&((h&(f&(e&(d&(c&(b&a))))))|(i&(h&((f&((d&(c&(b&a)))|(e&...

result:

ok 1 lines, tightest: 2531 out of 16394 (1 test case)

Test #34:

score: 0
Accepted
time: 2ms
memory: 3840kb

input:

1
15
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001010100000000000000000000000001010101000000000000000000000000000000000000000...

output:

Yes
((((((((h&(g&((e&(d&((b&a)|(c&a))))|(f&(e&(d&a))))))|(i&((g&(f&(e&(d&((b&a)|(c&a))))))|(h&((e&(d&a))|(g&(((d&(c&(b&a)))|(e&(((b&a)|(c&a))|(d&(c&b)))))|(f&((d&a)|(e&(a|d)))))))))))|(j&(((g&(f&(e&(d&(c&(b&a))))))|(h&(((e&(d&(b&a)))|(f&(e&(d&a))))|(g&((e&((c&(b&a))|(d&a)))|(f&((d&a)|(e&(a|d))))))))...

result:

ok 1 lines, tightest: 3508 out of 16394 (1 test case)

Test #35:

score: 0
Accepted
time: 322ms
memory: 3712kb

input:

65536
7
00000000000000010000000100000101000000000001011100000101010111110000000100000001000001110001011100000101001101110011011111111111
7
00000000000000010000000000010111000000000000011100000001011111110000000100000001000000110011011100010101001101110011111111111111
7
000000000000000000000001000100...

output:

Yes
((((d&(c&(b&a)))|(e&((c&(b&a))|(d&(c&a)))))|(f&((d&((b&a)|(c&(a|b))))|(e&((c&a)|(d&(a|c)))))))|(g&(((c&(b&a))|(e&((c&(a|b))|(d&(b&a)))))|(f&(((c&a)|(d&b))|(e&(b|d)))))))
Yes
((((d&(c&(b&a)))|(e&(d&((b&a)|(c&(a|b))))))|(f&((d&(c&(a|b)))|(e&((c&(b&a))|(d&((a|b)|c)))))))|(g&(((c&(b&a))|(e&((c&b)|(d...

result:

ok 65536 lines, tightest: 60 out of 74 (65536 test cases)

Test #36:

score: 0
Accepted
time: 52ms
memory: 3584kb

input:

1024
10
0000000000000000000000000000000000000000000000000000000000000011000000000000000000000001000001110000000000000111000101010111011100000000000000000000000000000111000000010001011100010011000101110000000100000001000001110001011100000101011111110101111111111111000000000000000100000000000100010000...

output:

Yes
(((((f&(e&(d&(c&b))))|(g&((e&((c&(b&a))|(d&(c&(a|b)))))|(f&((d&(c&(a|b)))|(e&(((b&a)|(c&a))|(d&(a|b)))))))))|(h&(((e&(d&(c&(a|b))))|(f&(((c&(b&a))|(d&((b&a)|(c&(a|b)))))|(e&((b&a)|(c&b))))))|(g&(((c&(b&a))|(e&((c&(a|b))|(d&(b&a)))))|(f&(((c&a)|(d&((a|b)|c)))|(e&((a|c)|d)))))))))|(i&(((((d&(c&(b&...

result:

ok 1024 lines, tightest: 322 out of 522 (1024 test cases)

Test #37:

score: 0
Accepted
time: 15ms
memory: 3712kb

input:

64
12
000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000001000101110000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000010000000100010101000101110111111100000000000000000000000000000001000000...

output:

Yes
(((((((f&(e&(d&(c&(b&a)))))|(g&(f&(e&((c&(b&a))|(d&((b&a)|(c&(a|b)))))))))|(h&(g&((e&(d&(c&(b&a))))|(f&(((c&(b&a))|(d&((b&a)|(c&a))))|(e&(((b&a)|(c&(a|b)))|(d&((a|b)|c))))))))))|(i&((((e&(d&(c&(b&a))))|(f&(e&((c&(b&a))|(d&(b&a))))))|(g&(((d&(c&(b&a)))|(e&((c&(b&a))|(d&(c&b)))))|(f&(e&((c&(a|b))|...

result:

ok 64 lines, tightest: 1115 out of 2058 (64 test cases)

Test #38:

score: 0
Accepted
time: 12ms
memory: 3840kb

input:

64
12
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000...

output:

Yes
((((((g&(f&(e&(d&(c&(b&a))))))|(h&(f&(e&(d&(c&(b&a)))))))|(i&((g&(f&(e&(d&(c&b)))))|(h&(((e&(d&(c&(b&a))))|(f&(e&(d&(b&a)))))|(g&((e&((c&(b&a))|(d&(c&b))))|(f&((d&(c&a))|(e&(((b&a)|(c&b))|(d&c))))))))))))|(j&((((f&(e&(d&(c&(b&a)))))|(g&((e&(d&(c&(b&a))))|(f&(e&(d&((b&a)|(c&(a|b)))))))))|(h&(((e&...

result:

ok 64 lines, tightest: 1121 out of 2058 (64 test cases)

Test #39:

score: 0
Accepted
time: 5ms
memory: 3840kb

input:

64
12
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000...

output:

Yes
(((((h&(g&(f&(e&(d&(c&(b&a)))))))|(i&((g&(f&(e&(d&(c&(b&a))))))|(h&((f&(e&(d&(c&(b&a)))))|(g&(f&(e&((c&(b&a))|(d&((b&a)|(c&b))))))))))))|(j&(((g&(f&(e&(d&(c&(b&a))))))|(h&(g&(f&((d&(c&(b&a)))|(e&((c&(b&a))|(d&(c&b)))))))))|(i&((g&((e&(d&(c&(b&a))))|(f&(d&(c&(b&a))))))|(h&(((e&(d&(c&(b&a))))|(f&(...

result:

ok 64 lines, tightest: 833 out of 2058 (64 test cases)

Test #40:

score: 0
Accepted
time: 5ms
memory: 3840kb

input:

4
14
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000010111000000000000000000000000000000000000000...

output:

Yes
((((((((g&(f&(e&(d&(c&(b&a))))))|(h&(g&(f&((d&(c&(b&a)))|(e&(d&((b&a)|(c&(a|b))))))))))|(i&((g&((e&(d&(c&(b&a))))|(f&(e&(d&(b&a))))))|(h&((f&((d&(c&(b&a)))|(e&((c&(b&a))|(d&((b&a)|(c&b)))))))|(g&(((d&(c&(b&a)))|(e&(d&(c&(a|b)))))|(f&(((c&(b&a))|(d&(c&b)))|(e&((c&(a|b))|(d&c))))))))))))|(j&((((f&...

result:

ok 4 lines, tightest: 3964 out of 8202 (4 test cases)

Test #41:

score: 0
Accepted
time: 4ms
memory: 3712kb

input:

4
14
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000...

output:

Yes
(((((((h&(g&(f&(e&(d&(c&(b&a)))))))|(i&(h&(g&((e&(d&(c&(b&a))))|(f&((d&(c&(b&a)))|(e&(d&((b&a)|(c&a)))))))))))|(j&(((g&(f&(e&(d&(c&(b&a))))))|(h&(g&(f&((d&(c&(b&a)))|(e&((c&(b&a))|(d&((b&a)|(c&(a|b)))))))))))|(i&((g&((e&(d&(c&(b&a))))|(f&((d&(c&(b&a)))|(e&((c&(b&a))|(d&(c&b))))))))|(h&((f&((d&(c...

result:

ok 4 lines, tightest: 3872 out of 8202 (4 test cases)

Test #42:

score: 0
Accepted
time: 2ms
memory: 3584kb

input:

1
15
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000100000001000000000000000000000000000000000000000...

output:

Yes
((((((((h&(g&(f&((d&(c&(b&a)))|(e&(c&(b&a)))))))|(i&((g&((e&(d&(c&(b&a))))|(f&((d&(c&(b&a)))|(e&((c&(b&a))|(d&(c&a))))))))|(h&((f&((d&(c&(b&a)))|(e&(c&(b&a)))))|(g&(((d&(c&(b&a)))|(e&(d&((b&a)|(c&(a|b))))))|(f&((d&(c&b))|(e&(((b&a)|(c&a))|(d&a))))))))))))|(j&(((g&((e&(d&(c&(b&a))))|(f&((d&(c&(b&...

result:

ok 1 lines, tightest: 6937 out of 16394 (1 test case)

Test #43:

score: 0
Accepted
time: 2ms
memory: 3968kb

input:

1
15
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

Yes
(((((((i&(h&(g&((e&(d&(c&(b&a))))|(f&(e&((c&(b&a))|(d&((b&a)|(c&b))))))))))|(j&(((g&(f&(e&(d&(c&(b&a))))))|(h&((f&(e&(d&(c&(b&a)))))|(g&(f&(e&(d&((b&a)|(c&(a|b))))))))))|(i&(((f&(e&(d&(c&(b&a)))))|(g&((e&(d&(c&(b&a))))|(f&((d&(c&(b&a)))|(e&((c&(b&a))|(d&((b&a)|(c&b))))))))))|(h&((f&((d&(c&(b&a))...

result:

ok 1 lines, tightest: 7871 out of 16394 (1 test case)

Test #44:

score: 0
Accepted
time: 0ms
memory: 3968kb

input:

1
15
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...

output:

Yes
((((((j&((h&(g&(f&(e&(d&(c&(b&a)))))))|(i&(h&((f&(e&(d&(c&(b&a)))))|(g&(f&(e&((c&(b&a))|(d&(c&a)))))))))))|(k&((i&(h&(g&(f&(e&(d&(c&b)))))))|(j&(((g&(f&(e&(d&(c&(b&a))))))|(h&(g&((e&(d&(c&(b&a))))|(f&((d&(c&(b&a)))|(e&(d&((b&a)|(c&a))))))))))|(i&((g&((e&(d&(c&(b&a))))|(f&(e&(d&((b&a)|(c&b)))))))...

result:

ok 1 lines, tightest: 6854 out of 16394 (1 test case)

Extra Test:

score: 0
Extra Test Passed