#include <iostream>
#include <vector>
using namespace std;

void showAttributeUsage(const std::vector<std::vector<int>>& att)
{
    for (std::size_t n = 0; n != att.size(); ++n) {
        for (std::size_t i = 0; i != att[n].size(); ++i) {
            cout << att[n][i] << " ";
        }
        cout << endl;
    }
}

int main()
{
    int qN, aN;
    cout << "Enter Number of Queries : ";
    cin >> qN;
    cout << "\nEnter Number of Attributes : ";
    cin >> aN;
    std::vector<std::vector<int>> attVal(qN, std::vector<int>(aN));
    cout << "\nEnter Attribute Usage Values" << endl;
    for(int n = 0; n < qN; n++) { //for looping in queries
        cout << "\n\n***************** COLUMN " << n + 1 << " *******************\n\n";
        for(int i = 0; i < aN; i++) {     //for looping in Attributes
LOOP1:
            cout << "Use(Q" << n + 1 << " , " << "A" << i + 1 << ") = ";
            cin >> attVal[n][i];
            cout << endl;
            if((attVal[n][i] > 1) || (attVal[n][i] < 0)) {
                cout << "\n\nTHE VALUE MUST BE 1 or 0 . Please Re-Enter The Values\n\n";
                goto LOOP1;                  //if wrong input value
            }
        }
    }
    showAttributeUsage(attVal);
    cout << "\n\nYOUR ATTRIBUTE USAGE MATRIX IS\n\n";

    return 0;
}
