#include <iostream>
#include <type_traits>
using namespace std;

template <typename T, typename U>
struct decay_equiv : 
    std::is_same<typename std::decay<T>::type, U>::type 
{};

int main() {

    int A[][3] = {
			{ 1, 2, 3 },
			{ 4, 5, 6 },
			{ 7, 8, 9 },
			{ 10, 11, 12 }
	};
    
    std::cout << std::boolalpha
              << decay_equiv<decltype(A), int(*)[3]>::value << '\n';
}