/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
	public static class MainClass {

}

static class A extends MainClass {

}

static class B extends MainClass {

}

static class C extends MainClass {

}

public static <T extends MainClass> List<T> getClasses(List<MainClass> classes, Class<T> classToCollect) {
    List<T> subclasses = new ArrayList<T>();

    for (MainClass clazz : classes) {
if (classToCollect.isInstance(clazz)) {
    subclasses.add((T)clazz);
}
    }

    return subclasses;
}
	
	public static void main (String[] args) throws java.lang.Exception
	{
		List<MainClass> all = new ArrayList<MainClass>();
		all.add(new A());
		all.add(new B());
		all.add(new C());
		List<B> res = getClasses(all,  B.class);
		System.out.println(res.size());
	}
}