import java.io.BufferedReader;
import java.io.File;
import java.util.*;
public class Main {
public static int[] e, ne, h;
public static int[] cnt, st;
public static int idx;
static{
e = new int[100010];
ne = new int[100010];
h = new int[100010];
cnt = new int[100010];
}
public static void add(int a, int b){
e[idx] = b; ne[idx] = h[a]; h[a] = idx ++;
cnt[a] ++;
}
public static int search(int a, int b){
int sum = cnt[a], min = Integer.MAX_VALUE;
st[a] = 1;
if(a == b)return sum;
for(int i = h[a]; i != -1; i = ne[i]){
int j = e[i];
if(st[j] != 1){
int k = search(j, b);
if(k != -1){
min = Math.min(k, min);
}
}
}
if(min == Integer.MAX_VALUE)return -1;
return sum + min;
}
public static void main(String[] args){
Scanner in = new Scanner(System.in);
int n = in.nextInt(), m = in.nextInt();
for(int i = 0; i <= n + 9; i++)h[i] = -1;
for(int i = 1; i < n; i++){
int a = in.nextInt(), b = in.nextInt();
add(a, b);
add(b, a);
}
for(int i = 0; i < m; i++){
st = new int[100010];
int a = in.nextInt(), b = in.nextInt();
if(a == b)System.out.println(cnt[a]);
else System.out.println(search(a, b));
}
}
}