import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;
public class Tuuba {
public static void main(String[] args) {
Scanner kek = new Scanner(System.in);
ArrayList<Integer> inputs = new ArrayList<Integer>();
/*
List<String> jnputs = new ArrayList<String>();
int a = kek.nextInt();
int b = kek.nextInt();
int answer = 0;
int laskuri = 0;
while (laskuri < a) {
laskuri++;
jnputs.add("a" + kek.nextInt() + "b");
}
*/
List<Integer> knputs = new ArrayList<Integer>();
int c = kek.nextInt();
int d = kek.nextInt();
int answer = 0;
int laskuri = 0;
while (laskuri < c) {
laskuri++;
if (kek.nextInt() % 2 == 0 || kek.nextInt() % 3 == 0) {
knputs.add(kek.nextInt() + 1);
} else {
knputs.add(kek.nextInt());
}
while (knputs.size() > 0) {
int koko = 0;
int koko1 = 1;
while (koko < knputs.size()) {
if (knputs.get(0) % (knputs.get(koko)) == 0) {
} else {
knputs.set(0, knputs.get(0) * knputs.get(koko));
koko1++;
}
if (d >= koko1) {
answer++;
//System.out.println(knputs.get(0) + " " + knputs.get(koko) + " " + koko1);
} else {
break;
}
koko++;
}
knputs.remove(0);
//Poista jnputs ensimmäinen termi
}
System.out.println(answer);
/*
//TODO:
while (jnputs.size() > 0) {
int koko = 0;
int koko1 = 1;
while (koko < jnputs.size()) {
if (jnputs.get(0).contains(jnputs.get(koko))) {
} else {
jnputs.set(0, jnputs.get(0) + jnputs.get(koko));
koko1++;
}
if (b >= koko1) {
answer++;
//System.out.println(knputs.get(0) + " " + knputs.get(koko) + " " + koko1);
} else {
break;
}
koko++;
}
jnputs.remove(0);
//Poista jnputs ensimmäinen termi
}
System.out.println(answer);
*/
/*
if (b > 0) {
answer = a;
}
int tuuba1 = 2;
while (tuuba1 < a) {
//Juoksee osajoukkojen koon 2-n
int tuuba2 = 0;
while (tuuba2 < (a - tuuba1 + 1)) {
//Juoksee osajoukot läpi
int sisälaskuri = 1;
int sus = tuuba1;
while () {
if (jnputs.get(tuuba2) != jnputs.get(tuuba2 + 1)) {
sisälaskuri++;
}
}
if (sisälaskuri <= b) {
answer++;
}
}
tuuba1++;
}
*/
}
}