#include <bits/stdc++.h>
using namespace std;
template <class c>
struct rge {
  c b, e;
};
template <class c>
rge<c> range(c i, c j) {
  return rge<c>{i, j};
}
template <class c>
auto dud(c* x) -> decltype(cerr << *x, 0);
template <class c>
char dud(...);
struct debug {
  template <class c>
  debug& operator<<(const c&) {
    return *this;
  }
};
void test_cases() {
  int l, r;
  scanf("%d %d", &l, &r);
  if (r < 2 * l) {
    puts("-1 -1");
  } else {
    printf("%d %d\n", l, 2 * l);
  }
}
int main() {
  int t;
  scanf("%d", &t);
  while (t--) {
    test_cases();
  }
  return 0;
}
