Given a gold mine (M) of n*m dimensions. Each field in this mine contains a positive integer which is the amount of gold in tons. Initially the miner is at first column but can be at any row. He can move only (right->,right up /,right down\) that is from a given cell, the miner can move to the cell diagonally up towards the right or right or diagonally down towards the right. Your task is to find out maximum amount of gold which he can collect.

Examples:

```
Input : M[][] = {{1, 3, 3},
{2, 1, 4},
{0, 6, 4}};
Output : 12
{(1,0)->(2,1)->(2,2)}
Input: M[][] = {{1, 3, 1, 5},
{2, 2, 4, 1},
{5, 0, 2, 3},
{0, 6, 1, 2}};
Output : 16
(2,0) -> (1,1) -> (1,2) -> (0,3) OR
(2,0) -> (3,1) -> (2,2) -> (2,3)
```

**Input:**

The first line of input contains an integer T denoting the no of test cases. Then T test cases follow. Each test case contains an integer n and m denoting the size of the matrix. Then in the next line are n*m space separated values of the matrix.

**Output:**

For each test case in a new line print an integer denoting the max gold the miner could collect.

**Constraints:**

1<=T<=100

1<=n,m<=20

1<=M[][]<=100

**Example:
Input:**

2

3 3

1 3 3 2 1 4 0 6 4

2 2

1 2 3 4

12

7

If you have purchased any course from GeeksforGeeks then please ask your doubt on course discussion forum. You will get quick replies from GFG Moderators there.

KarlBreitkopf | 391 |

kite | 352 |

ninjahatori | 352 |

vampire123 | 350 |

Raunaq Singh 3 | 300 |

vampire123 | 888 |

nishant.ns19 | 839 |

ArushiGarg1 | 828 |

Raunaq Singh 3 | 820 |

xbuttercupx | 789 |

blackshadows | 5331 |

Ibrahim Nash | 5219 |

akhayrutdinov | 5111 |

mb1973 | 4790 |

Quandray | 4499 |

Login to report an issue on this page.