다니엘은 각 셀이 검정색 또는 흰색으로 칠해진 N×N 그리드를 가지고 있다. 이 그리드의 상태는 각 원소가 0 또는 1인 N×N 행렬 A로 표시된다. 0≤i,j≤N−1에 대해, A\[i]\[j]=1은 i번 행 j번 열의 셀(앞으로 이를 편의상 셀 (i,j)로 표기한다)이 검정색인 경우를, A\[i]\[j]=0은 흰색인 경우를 의미한다. 한편, 그리드에는 다음 조건들을 만족하는 (i_1,i_2,j_1,j_2)가 존재하지 않는 것이 알려져 있다:
- 0≤i_1<i_2≤N−1, 0≤j_1<j_2≤N−1
- A\[i_1]\[j_1]=A\[i_2]\[j_2],A\[i_1]\[j_2]=A\[i_2]\[j_1],A\[i_1]\[j_1]=A\[i_1]\[j_2]
다니엘은 그리드를 영욱이에게 전달하고자 한다. 통신은 보안상의 이유로 다음과 같은 절차를 따른다:
- 다니엘은 총 N2개의 셀 중에서 몇 개의 셀을 선택한다.
- 통신 시스템은 (0,1,2,…,N−1)의 비밀 순열인 X,Y을 가지고 있다.
- N×N 행렬 B가 영욱이에게 전달된다. 다니엘이 선택한 각 셀 (i,j)에 대해 B\[X\[i]]\[Y\[j]]=A\[i]\[j]가 성립하고, 선택하지 않은 셀 (i,j)에 대해 B\[X\[i]]\[Y\[j]]=−1이 성립한다.
영욱이는 행렬 B에서 −1로 채워진 부분을 복구하여 모든 0≤i,j≤N−1에 대해 B\[X\[i]]\[Y\[j]]=A\[i]\[j]가 성립하도록 만들어야 한다.