#include <iostream>
namespace nad
{
typedef int I;
typedef char c[__cplusplus];
c& f(I) { std::cout << "a"; throw(0); }
}
using namespace nad;
template<typename T>
struct C
{
C() { std::cout << "b"; }
char buf[ sizeof( f( T() ) ) > 1 ];
};
char f(double) { std::cout << "c"; return 0; }
C<double> c;
int main() {}