#include #define cinf(n,x) for(int i=0;i<(n);i++)cin>>x[i]; #define ft first #define sc second #define pb push_back #define lb lower_bound #define ub upper_bound #define all(v) (v).begin(),(v).end() #define LB(a,x) lb(all(a),x)-a.begin() #define UB(a,x) ub(all(a),x)-a.begin() #define mod 1000000007 #define FS fixed< using V=vector; using Graph = vector>; using P=pair; typedef unsigned long long ull; typedef long double ldouble; template inline bool chmin(T& a, T b) { if (a > b) { a = b; return true; } return false; } template inline bool chmax(T& a, T b) { if (a < b) { a = b; return true; } return false; } const ll INF=1e18; int main(){ cin.tie(0);ios::sync_with_stdio(false); ll n,m,k; cin>>n>>m>>k; char c; cin>>c; Vb(m),a(n); cinf(m,b); cinf(n,a); sort(all(b)); ll ans=0; if(c=='+'){ rep(i,n){ ll x=lb(all(b),k-a[i])-b.begin(); ans+=m-x; } }else{ rep(i,n){ ll y=k/a[i]; if(k%a[i]!=0)y++; ll x=lb(all(b),y)-b.begin(); ans+=m-x; } } cout< a(m)でm==0というものはできない) modはなるべく最後に取れ! doubleを扱うときには(abs)ではなく'fabs'!!! */