class Matrix {
    private int m_rows;
    private int m_columns;
    private int[][] m_array; 
    
    Matrix(int rows,int columns, int init)  {
        m_rows=rows;
        m_columns = columns;
        m_array = new int[m_rows][m_columns];
        for(int i=0; i < rows; i++)
            for(int j=0; j < columns; j++)
                SetAt(i,j,init);
    }
    
    int GetAt(int row,int column)   {
        int retvalue=-1;
        if(row>=0 && row<m_rows && column>=0 && column<m_columns)
            retvalue = m_array[row][column];
        return retvalue;
    }
    
    void SetAt(int row,int column,int value)  {
        if(row>=0 && row<m_rows && column>=0 && column<m_columns)
            m_array[row][column] = value;
    }
    
    int GetRows()  {
        return m_rows;
    }
    
    int GetColumns()  {
        return m_columns;
    }
    
    public String toString() {
	String s = "";
        for(int i=0; i<m_rows; i++)
        {
            for(int j=0; j<m_columns; j++)
                s += GetAt(i,j) + "\t";
            s += "\n";
        }
	return s;
    }
}

