proc main()
{
var a, b;
a = [5,6,7].iterate()[1:2,1:3,1:4];
"a:\n", a, "\n\n";
"@a:\n", @a, "\n\n";
b = new Array(2,3,4);
forall(a[i,j,k]) {
b[i,j,k] = a[i,j,k];
}
"Manual copy:\n", b, "\n\n";
a = [['0','1','2','3','4'],
['5','6','7','8','9'],
['a','b','c','d','e'],
['f','g','h','i','j']];
a = a[1:2,1:3];
"a:\n", a, "\n\n";
"@a:\n", @a, "\n\n";
a = [[['0','1','2','3','4'],
['5','6','7','8','9'],
['a','b','c','d','e']],
[['f','g','h','i','j'],
['k','l','m','n','o'],
['p','q','r','s','t']]];
a = a[1:1,1:2,1:3];
"a:\n", a, "\n\n";
"@a:\n", @a, "\n";
}