Code:

```
using System;

int first = 0;
int second = new();
int third = default;

Console.WriteLine("first: {0};", first);
Console.WriteLine("second: {0};", second);
Console.WriteLine("third: {0};", third);

```

What is the difference between `new()`, `default` and `0` in this context?