using System;

public struct Foo<T>
{
	public T Data, Data2;

	public Foo (T a, T b)
	{
		this.Data = a;
		this.Data2 = b;
	}
}

public class Test<T>
{
	public T Data, Data2;

	public Test (T a, T b)
	{
		this.Data = a;
		this.Data2 = b;
	}
}

class X
{
	static int Main ()
	{
		Foo<long> foo = new Foo<long> (3, 5);
		if (foo.Data != 3)
			return 1;
		if (foo.Data2 != 5)
			return 2;

		Test<long> test = new Test<long> (3, 5);
		if (test.Data != 3)
			return 3;
		if (test.Data2 != 5)
			return 4;

		return 0;
	}
}
