187d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga NainarBEGIN
2b6d6993e6e6d3daf4d9876794254d20a134e37c2Pirama Arumuga Nainartemplate<typename T = int> struct A {};
3b6d6993e6e6d3daf4d9876794254d20a134e37c2Pirama Arumuga Nainartemplate<typename T> struct B {};
4b6d6993e6e6d3daf4d9876794254d20a134e37c2Pirama Arumuga Nainartemplate<typename T> struct C;
5b6d6993e6e6d3daf4d9876794254d20a134e37c2Pirama Arumuga Nainartemplate<typename T> struct D;
6b6d6993e6e6d3daf4d9876794254d20a134e37c2Pirama Arumuga Nainartemplate<typename T> struct E;
7b6d6993e6e6d3daf4d9876794254d20a134e37c2Pirama Arumuga Nainartemplate<typename T = int> struct G;
8b6d6993e6e6d3daf4d9876794254d20a134e37c2Pirama Arumuga Nainartemplate<typename T = int> struct H;
987d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainartemplate<typename T> struct J {};
1087d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainartemplate<typename T = int> struct J;
1187d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainarstruct K : J<> {};
1287d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainartemplate<typename T = void> struct L;
1387d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainarstruct FriendL {
1487d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar  template<typename T> friend struct L;
1587d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga Nainar};
1687d948ecccffea9e9e37d0d053b246e2d6d6c47bPirama Arumuga NainarEND
17