int printf(const char *, ...);

struct A {
  int w, x, y, z;
};

void print(struct A a) {
	printf("{ %d, %d, %d, %d }\n", a.w, a.x, a.y, a.z);
}

int main() {
	struct A a0 = { .x=4, .z=1, .x=8 };
	struct A a1 = { 1, .y=7, 6 };
	struct A a2[3] = { [2]=a0, [0]=a1, { .z=3 } };

	print(a0);
	print(a1);
	printf("{\n");
	for (int i = 0; i < 3; i++) {
		printf("  ");
		print(a2[i]);
	}
	printf("}\n");
}
