#include<iostream>
namespace N {
	int i;
	int g(int a) { return a; }
	int j;
	void q();
}
namespace {
	int k=7;
}
namespace N {
	int g(char a)	  //overloads N::g(int)
	{
		return k+a; //k is from an unnamed namespace
	}
	int i;		  //error: duplicate definition
	int j();		  //OK: duplicate function declaration
	int j()		  //OK: definition of N::j()
	{
		return g(i);
	}
	int q();		  //error different return type
int main() {
	std::cout << k;  
	std::cout << ::k;
	
}
