using System; using System.IO; using System.Collections.Generic; namespace N1.N2 { class A { } class B { } } namespace M1 { namespace M2 { public class A { } internal class B { } } } namespace P1.P2 { class A { } } namespace P1.P2 { class B { } struct S { } interface I { } } namespace Empty { } namespace Q1.Q2 { class A { } } namespace Q3 { using A = Q1.Q2.A; using R = Q1.Q2; class B : A { } class C : R.A { } } namespace R1 { class A { class B { } } class A { } } namespace R2 { using Y = R1.A; } namespace S1.S2 { class A { } } namespace S3 { using S1.S2; class B : A { } }