#include <iostream>
#include <type_traits>
using namespace std;
int main() {
const int N = 5;
int A[N][5];
int i = 1, j = 1;
auto a = &A[i][j];
auto b = A+i*N+j;
if (!std::is_same<decltype(a), decltype(b)>::value)
{
std::cout << "The pointers are not of the same type.\n";
}
if (static_cast<void*>(a) != static_cast<void*>(b))
{
std::cout << "The pointers do not have the same value.\n";
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dHlwZV90cmFpdHM+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCWNvbnN0IGludCBOID0gNTsKCWludCBBW05dWzVdOwoJCglpbnQgaSA9IDEsIGogPSAxOwoJCglhdXRvIGEgPSAmQVtpXVtqXTsKCWF1dG8gYiA9IEEraSpOK2o7CgkKCWlmICghc3RkOjppc19zYW1lPGRlY2x0eXBlKGEpLCBkZWNsdHlwZShiKT46OnZhbHVlKQoJewoJCXN0ZDo6Y291dCA8PCAiVGhlIHBvaW50ZXJzIGFyZSBub3Qgb2YgdGhlIHNhbWUgdHlwZS5cbiI7Cgl9CgkKCWlmIChzdGF0aWNfY2FzdDx2b2lkKj4oYSkgIT0gc3RhdGljX2Nhc3Q8dm9pZCo+KGIpKQoJewoJCXN0ZDo6Y291dCA8PCAiVGhlIHBvaW50ZXJzIGRvIG5vdCBoYXZlIHRoZSBzYW1lIHZhbHVlLlxuIjsKCX0KfQo=