#include <iostream>
using namespace std;

struct Foo {
  Foo() { cout << "default\n"; }
  Foo(const long long) { cout << "implicit\n"; }
};

struct Bar {
  Bar(const short param) : param(param) {}
  operator long long() const { return static_cast<long long>(param); }
  const short param;
};

int main() {
  Foo foo = Bar(13);
}