#include <iostream>
#include <vector>

using namespace std;

template<typename type, class container>
struct A
{
    void say() { std::cout << "Say for all" << std::endl;}
};

template<typename type>
struct A<type,vector<type>>
{
    void say()
    {
        std::cout << "Say for vector" << std::endl;
    }
};

int main(int argc, char * argv[])
{
    A<int,vector<int>> a;
    A<int,double> b;
    a.say();
    b.say();
}

