class Solution {
  public:
    bool Find(int target, vector<vector<int> > array) {
        if (array.size() == 0)  return false;
        int r = array.size(); 
        int l = array[0].size();
        int left = 0, down = r - 1;
        while (left < l && down >= 0) {
            int tmp = array[down][left];
            if ( tmp == target) return true;
            else if (tmp < target) left++;
            else down--;
        }
        return false;
    }
};