If I have the following code:

```
class Outer
{
    static void Main(string[] args)
    {
    }

    class Inner
    {
        static void Main(string[] args)
        {
        }
    }
}

```

The by default, which main method would be executed, would it be the main method of the outer class? 

Also, another question is, what is the difference between a nested inner class and an internal class in C#?