//#include <stdio.h>

template <class T>
class Hola {
public:
//  Hola() { printf("Hola()\n"); }
//  Hola(const Hola<T> &) { printf("Hola(const Hola<T> &)\n"); }
  static T hola;
};

template <class T> T Hola<T>::hola = (T)1.1;

// partial specialisation
template <class T> Hola<T> Hola< Hola<T> >::hola;

int main() {
  Hola< Hola<double> >::hola;
//  printf("%f\n", Hola< Hola<double> >::hola.hola);
  return 0;
}