#include <iostream>
#include <vector>
using namespace std;
class Solution {
public:
bool Find(int target, vector<vector<int> > array) {
if(array.size() == 0){
return false;
}
int row = 0;
int col = array[0].size() - 1;
while(row < array.size() && col >= 0){
if(target == array[row][col]){
return true;
}
else if(target < array[row][col]){
--col;
}
else{
++row;
}
}
return false;
}
};
int main()
{
Solution s;
vector<int> a = {1,2,8,9};
vector<int> b = {2,4,9,12};
vector<int> c = {4,7,10,13};
vector<int> d = {6,8,11,15};
vector <vector<int> > num;
num.push_back(a);
num.push_back(b);
num.push_back(c);
num.push_back(d);
int target = 5;
bool res = s.Find(target, num);
cout << res << endl;
return 0;
}