def main(): seat_max_min() def seat_max_min(): t = input() case = [input() for _ in range(int(t))] case = [i.split() for i in case] for n, m in case: n_line = 0 final_line = 0 remaining_seats = 0 if int(n) % 4 != 0: n_line = int(n) // 4 + 1 remaining_seats = n_line * 4 + (4 - int(n) % 4) else: n_line = int(n) / 4 remaining_seats = n_line * 4 if remaining_seats < int(m): m_left = int(m) - remaining_seats if m_left % 8 != 0: final_line = n_line + m_left // 8 + 1 else: final_line = n_line + m_left / 8 print(max(int(n_line), int(final_line))) if __name__ == '__main__': main()