import java.io.*;
public class Main {
static class EntradaRapida {
private final byte[] buffer = new byte[1 << 16];
private int indice = 0;
private int limite = 0;
if (indice >= limite) {
limite = flujoEntrada.read(buffer);
indice = 0;
if (limite <= 0) return -1;
}
return buffer[indice++];
}
int caracter;
do {
caracter = leer();
if (caracter == -1) return -1;
} while (caracter <= 32);
int valor = 0;
while (caracter > 32) {
valor = valor * 10 + caracter - '0';
caracter = leer();
}
return valor;
}
}
static int contarVecinos(int fila, int columna,
int filas, int columnas) {
int cantidad = 4;
if (fila == 1 || fila == filas) {
cantidad--;
}
if (columna == 1 || columna == columnas) {
cantidad--;
}
return cantidad;
}
EntradaRapida lector = new EntradaRapida();
int cantCasos = lector.leerEntero();
if (cantCasos == -1) return;
StringBuilder resultado = new StringBuilder();
for (int caso = 0; caso < cantCasos; caso++) {
int filas = lector.leerEntero();
int columnas = lector.leerEntero();
int filaInicio = lector.leerEntero();
int colInicio = lector.leerEntero();
int filaFin = lector.leerEntero();
int colFin = lector.leerEntero();
int vecinosInicio = contarVecinos(
filaInicio, colInicio, filas, columnas
);
int vecinosFin = contarVecinos(
filaFin, colFin, filas, columnas
);
int minObstaculos
= Math.
min( vecinosInicio, vecinosFin
);
resultado.append(minObstaculos).append('\n');
}
}
}