It is my first time to use 2D vectors in C++ and it seems that I'm trying to access forbidden location although the indexes of the loops are less than it is size

```
int generate_(vector<int> row,vector<int> column)
{
    int i=1,j=1,k=0,l=0;
    vector<vector<int > >matrix;//2D vector

    for(k=0,l=0;l<column.size();l++)
    {
        matrix[k][l]=row[l];
        cout << matrix[k][l]<<endl;
    }

    for(k=0,l=0;l<row.size();l++)
        matrix[l][k]=column[l];

        for(i=1;i<row.size();i++)
        {
                for(j=1;j<column.size();j++)
                {
                matrix[i][j]=matrix[i][j-1]+matrix[i-1][j]+matrix[i-1][j-1];

                }
        }
    return matrix[i-1][j-1];
}

```