#include <bits/stdc++.h>
#define A double
#define B const
#define C return
#define D requests
#define E std
#define F RequestPhase
#define G static_cast
#define H int
#define I distance_base
#define J input_length
#define K current_time_ms
#define L task_cost
#define M transfer_cost_ms
#define N last_token_time_ms
#define O num_clouds
#define P cloud
#define Q tokens_produced
#define R population
#define S choices
#define T strong_waiting_fallback_mode
#define U request_ids
#define V request
#define W task_setup_ms
#define X choice
#define Y throughput_upper_bound
#define Z cloud_prefill_work_ms
#define e decode_window
#define g if
#define k vector
#define p latency_pressure
#define q w_tp
#define AA cloud_request_load
#define AB tiny_wait_weight_mode
#define AC throughput_baseline
#define AD tpot_slo_ms
#define AE num_layers
#define AF is_valid
#define AG active_decode_requests
#define AH tdr_slo_ms
#define AI batch_size
#define AJ pending_prefill_count
#define AK next_prefill_layer
#define AL link_available_time_ms
#define AM cloud_id
#define AN arrival_time_ms
#define AO cloud_active_output_requests
#define AP runtime_fallback_enabled
#define AQ false
#define AR unopened_decode_ready_count
#define AS is_valid_request_id
#define AT base_decode_window
#define AU size
#define AV preferred_decode_proc_batch
#define AW request_id
#define AX prefill_id
#define AY ready_since_ms
#define AZ collect_ready_requests
#define Aa bool
#define Ab decode_batch_size
#define Ac minimum_prefill_path_ms
#define Ad cloud_running_prefill_work_ms
#define Ae predicted_transfer_queue
#define Af cloud_decode_load
#define Ag synchronized_decode_active
#define Ah push_back
#define Ai has_internal_future
#define Aj prefill_request
#define Ak produced_token_count
#define Al latency_dominant_objective_band
#define Am direction
#define An modeled_cloud_prefix_mode
#define Ao decode_controller_max
#define Ap decode_pre_ready
#define Aq next_predicted_decode_transfer
#define Ar objective_band_code
#define As has_active_decode_output
#define At task_times
#define Au cloud_count
#define Av EdgeTaskChoice
#define Aw cloud_predicted_busy_until_ms
#define Ax arrived_count
#define Ay prefill_proc_ready
#define Az cohort_size
#define BA transfer_latency_ms
#define BB max
#define BC decode_ids
#define BD predicted_decode_transfers_by_cloud
#define BE best
#define BF best_cloud
#define BG remaining
#define BH average_prefill_proc_cost
#define BI priority_key
#define BJ set_request_phase
#define BK decode_stream_observed
#define BL protected_startup_chunk_and_prior_mode
#define BM normalized_throughput
#define BN candidate
#define BO numeric_limits
#define BP max_batch_size
#define BQ phase
#define BR transfer_prediction_valid
#define BS throughput_pressure_value
#define BT finished_count
#define BU ReadyQueueEntry
#define BV best_rate_cohort
#define BW advance_request_phase
#define BX EdgeTaskKind
#define BY runtime_fallback_active
#define BZ throughput_batch_threshold
#define Ba synchronization_population
#define Bb observed_first_token_count
#define Bc Request
#define Bd pure_waiting_objective
#define Be prefill_upload_pending
#define Bf decode_controller_step
#define Bg candidate_indices
#define Bh task_kind
#define Bi else
#define Bj duration
#define Bk member_count
#define Bl decode_waves
#define Bm selection_order
#define Bn cohort_cycle_ms
#define Bo ready_count_by_phase
#define Bp wave_id
#define Bq assignment_latency_pressure
#define Br clamp
#define Bs begin
#define Bt best_tie_time
#define Bu cloud_busy
#define Bv decode_post_ready
#define Bw long_prefill_risk_mode
#define Bx protected_startup_prefill_guard
#define By prefill_proc_ready_queues
#define Bz synchronization_ratio
#define CA for
#define CB best_unit
#define CC best_rank
#define CD prefill_post_ready
#define CE latency_batch_size
#define CF proc_finishes
#define CG other_request
#define CH prefill_download_pending
#define CI continue
#define CJ decode_wave_id
#define CK legacy_grouping_mode
#define CL group_contains_started_decode
#define CM reported_duration
#define CN prefill_pre_ready
#define CO prefill_post_skip_count
#define CP decode_proc_ready_count
#define CQ true
#define CR decode_admitted
#define CS bytes_per_token
#define CT best_batch_size
#define CU strong_waiting_decode_window
#define CV reconcile_completed_transfer
#define CW prefill_pre_running
#define CX protected_startup_max_prefill_chunks
#define CY prefill_pre_skip_count
#define CZ fresh_decode_pre_queue
#define Ca synchronized_decode_enabled
#define Cb first
#define Cc upload_finish
#define Cd quality_level
#define Ce high_wait_weight
#define Cf ready
#define Cg index
#define Ch remaining_cost
#define Ci ids
#define Cj observed_nonterminal_first_tokens
#define Ck record_predicted_transfer
#define Cl is_decode
#define Cm download_finish
#define Cn step
#define Co isfinite
#define Cp cohort_limit
#define Cq members_per_cloud
#define Cr prefill_proc_running
#define Cs prefill_priority_key
#define Ct group_size
#define Cu visible_sizes
#define Cv started_decode_is_urgent
#define Cw value
#define Cx invalidate_transfer_predictions
#define Cy w_c
#define Cz quantum
#define DA throughput_marginal
#define DB future
#define DC infinity
#define DD to_string
#define DE queued_request
#define DF max_decode_age
#define DG bandwidth_gbps
#define DH fallback_request
#define DI maximum_prefill_path_ms
#define DJ mature_entry_population
#define DK decode_download_pending
#define DL strong_waiting_max_decode_rate
#define DM should_hold_for_known_transfer
#define DN stage_bonus
#define DO last_cloud_starvation_time_ms
#define DP continuation_pair_wave_domain
#define DQ auto
#define DR string
#define DS best_pipeline_rate
#define DT TransferPrediction
#define DU next_cloud_round_robin
#define DV decode_service_debt_ms
#define DW by_cloud
#define DX minimum_service
#define DY online_normalized_throughput
#define DZ best_position
#define Da tight_distance_regime
#define Db open_decode_pre_queue
#define Dc first_arrival_time_ms
#define Dd decode_proc_ready
#define De best_cloud_count_for_cohort
#define Df high_throughput_synchronization_enabled
#define Dg empty
#define Dh run_decode
#define Di completion
#define Dj chosen_key
#define Dk best_value
#define Dl tie_breaker
#define Dm legacy_size
#define Dn cloud_limit
#define Do prefill_post_running
#define Dp first_token_completion_ids
#define Dq best_size
#define Dr left_started
#define Ds bootstrap_cohort
#define Dt best_cohort_rate
#define Du batching_economy
#define Dv fresh
#define Dw epoch_opportunities
#define Dx should_wait_for_modeled_cloud_prefix
#define Dy request_count
#define Dz prefill_chunks_completed
#define EA pending_arrival_time_sum
#define EB earliest_decode_deadline
#define EC decode_proc_ready_queues
#define ED use_ready_order
#define EE samples_by_kind
#define EF prefill_service
#define EG min
#define EH is_decode_transfer
#define EI decode_proc_streak
#define EJ stage
#define EK queue
#define EL constexpr
#define EM prefill_proc_skip_count
#define EN decode_post_ready_queue
#define EO throughput_synchronized_q2_domain
#define EP prefill_uplink_restraint_strength
#define EQ next_decode_downstream_completion
#define ER second
#define ES has_open
#define ET waiting_weight
#define EU model_strength
#define EV distance_scale
#define EW decode_service
#define EX best_objective
#define EY fallback_remaining_raw
#define EZ protected_startup_objective_band
#define Ea lower_bound_cached_arrival_count
#define Eb epoch_utilization_sum
#define Ec decode_upload_pending
#define Ed counted_in_cloud_load
#define Ee arrival_seen_in_frame
#define Ef target
#define Eg size_t
#define Eh end_layer
#define Ei whole_wave
#define Ej weight_sum
#define Ek tpot_guard
#define El prediction
#define Em generation
#define En latency_stressed
#define Eo observed_single_token_workload
#define Ep transfer_time
#define Eq right_started
#define Er remaining_raw
#define Es probe_pending
#define Et pipeline_rate
#define Eu item_key
#define Ev urgent_decode_choice
#define Ew last_arrival_time_ms
#define Ex append_request_group
#define Ey should_hold_for_next_transfer
#define Ez record_controller_opportunity
#define FA edge_decode_round_robin_class
#define FB choose_prefill_proc_end_layer
#define FC startup_decode_admission_cap
#define FD has_expensive_prefill_upload
#define FE append_formed_cohort_members
#define FF update_skip_counter
#define FG strict_latency_mode
#define FH startup_srpt_active
#define FI score_by_population
#define FJ prefill_ready_count
#define FK decode_proc_running
#define FL task
#define FM take
#define FN nullptr
#define FO target_cloud
#define FP service_cost
#define FQ current_size
#define FR single_token_finished_count
#define FS scheduled_prefill_layer_end
#define FT remaining_prefill_path_cost
#define FU probe_normalized_throughput
#define FV tdr_guard
#define FW per_layer
#define FX end
#define FY transfer
#define FZ old_window
#define Fa best_score
#define Fb epoch_launches
#define Fc dynamic_group_size
#define Fd completion_time_ms
#define Fe cached_queued_jobs
#define Ff choose_modeled_cloud_count
#define Fg item
#define Fh not_arrived
#define Fi edge_finish
#define Fj throughput_factor
#define Fk remaining_members
#define Fl average_path_cost
#define Fm server
#define Fn resize
#define Fo ready_members
#define Fp payload_units
#define Fq max_age_ratio
#define Fr prefill_post_ready_queue
#define Fs keep_started_decode_only
#define Ft decode_admission_limited
#define Fu cohort_scale_denominator
#define Fv cached_queued_cloud_work
#define Fw should_defer_prefill_proc_for_decode_transfer
#define Fx break
#define Fy tie_time
#define Fz distance
#define GA ready_age
#define GB edge_work
#define GC edge_busy
#define GD hot_decode_ready
#define GE cloud_batch_size
#define GF prefill_work_skip_limit
#define GG prefill_pre_ready_queue
#define GH fallback_representative
#define GI protected_startup_cloud_prior_strength_milli
#define GJ non_up
#define GK samples
#define GL reserve
#define GM event_type
#define GN best_batch
#define GO prefill_post
#define GP finished_ids
#define GQ decode_queue
#define GR protected_startup_mode
#define GS competing_decode_count
#define GT score_tolerance
#define GU next_completion
#define GV completion_time
#define GW candidate_cloud
#define GX aged_batch_size
#define GY admission_waves
#define GZ enable_protected_startup_prefill_chunking
#define Ga startup_admission_cap
#define Gb normalized_constraint
#define Gc normalized_completion
#define Gd key
#define Ge void
#define Gf sort
#define Gg strength
#define Gh position
#define Gi next_window
#define Gj good_epochs
#define Gk decode_post
#define Gl representative
#define Gm per_layer_cost
#define Gn parse_cloud_id
#define Go minimum_layers
#define Gp layers_to_take
#define Gq expected_phase
#define Gr candidate_cost
#define Gs blend_strength
#define Gt best_rate_size
#define Gu next_completion_time
#define Gv finished_token_count
#define Gw completed_tdr_sum_ms
#define Gx choose_modeled_cloud
#define Gy objective
#define Gz link_wait
#define HA schedule_cloud_task
#define HB decode_post_running
#define HC balance_by_workload
#define HD synchronization_population_threshold
#define HE enable_protected_startup_cloud_prior
#define HF batch
#define HG waiting_guard
#define HH transfer_kind
#define HI prefill_slack
#define HJ next_transfer
#define HK first_service
#define HL epoch_starved
#define HM epoch_blocked
#define HN cohort_target
#define HO TaskTimeTable
#define HP should_hold_synchronized_decode_pre
#define HQ decode_pre_fresh_expansion_strength
#define HR abs
#define HS excess
#define HT saturation
#define HU low_epochs
#define HV efficiency
#define HW cycle_time
#define HX busy_until
#define HY best_model
#define HZ best_cycle
#define Ha schedule_edge_task
#define Hb irreversible_limit
#define Hc decode_pre_running
#define Hd decode_competition
#define He alternate_ordering
#define Hf adjust_ready_count
#define Hg uplink_queue_target_strength_milli
#define Hh startup_decode_release_gain_domain
#define Hi strong_waiting_batch_service_cost
#define Hj predicted_prefill_completion_time
#define Hk first_token_count_at_last_arrival
#define Hl drain_prefill_before_fresh_decode
#define Hm deque
#define Hn array
#define Ho norm_tp
#define Hp server_c
#define Hq cooldown
#define Hr prefill_gain
#define Hs legacy_value
#define Ht latency_best
#define Hu latency_area
#define Hv future_group
#define Hw decode_slack
#define Hx decode_count
#define Hy current_unit
#define Hz startup_srpt_mode
#define IA queued_cloud_work
#define IB pipeline_capacity
#define IC overhead_fraction
#define ID edge_choice_score
#define IE should_hold_decode_post_for_wave
#define IF non_q2_startup_phase_opportunity
#define IG baseline_synchronization_enabled
#define IH short_output_prefill_drain_mode
#define II choose_legacy_prefill_chunk_end
#define IJ rank
#define IK lround
#define IL cohort
#define IM throughput_share
#define IN startup_strength
#define IO score_weight_sum
#define IP same_cloud_ready
#define IQ remaining_layers
#define IR probe_tpot_guard
#define IS probe_saturation
#define IT is_prefill_phase
#define IU fallback_quantum
#define IV entry_population
#define IW completed_epochs
#define IX cohort_objective
#define IY best_cloud_count
#define IZ uplink_queue_target_base_milli
#define Ia strong_waiting_prefers_prefill
#define Ib tpot_excess
#define Ic rolled_back
#define Id risk_offset
#define Ie remote_time
#define If queued_jobs
#define Ig prefill_pre
#define Ih hold_budget
#define Ii decode_gain
#define Ij synchronized_decode_pre_group
#define Ik is_expensive_prefill_transfer
#define Il long
#define Im weight_strength
#define In probe_tdr_guard
#define Io max_cloud_count
#define Ip downstream_tail
#define Iq canonical_slots
#define Ir epsilon
#define Is synchronization_warm_target
#define It prefill_path_exceeds_budget
#define Iu choose_prefill_proc_request
#define Iv move
#define Iw upper
#define Ix scale
#define Iy front
#define Iz cycle
#define JA struct
#define JB any_of
#define JC unsigned
#define JD selected
#define JE headroom
#define JF full_raw
#define JG tdr_excess
#define JH raw_epochs
#define JI max_pieces
#define JJ fifo_order
#define JK decode_pre
#define JL waiting_guards
#define JM waiting_excess
#define JN transfer_limit
#define JO selected_count
#define JP queued_prefill
#define JQ overhead_floor
#define JR is_ready_phase
#define JS future_service
#define JT first_ready_id
#define JU cloud_capacity
#define JV prefer_decode_over_prefill
#define JW handle_transfer_completion
#define JX downstream_decode_pressure
#define JY startup_cohort_multiplier
#define JZ pure_throughput_objective
#define Ja proactive_policy_strength
#define Jb long_risk_prefers_prefill
#define Jc fallback_remaining_layers
#define Jd pair
#define Je spent_waiting
#define Jf probe_deficit
#define Jg previous_best
#define Jh prefill_score
#define Ji prefill_count
#define Jj cloud_service
#define Jk cloud_batches
#define Jl make_prefill_post_choice
#define Jm latency_round_robin_mode
#define Jn dynamic_batch_candidates
#define Jo dominant_decode_batching
#define Jp score
#define Jq lower
#define Jr group
#define Js count
#define Jt pop_front
#define Ju old_model
#define Jv norm_wait
#define Jw best_rate
#define Jx available
#define Jy allowance
#define Jz age_bonus
#define KA update_runtime_fallback
#define KB throughput_upper_bound_
#define KC should_hold_prefill_pre
#define KD prefill_post_skip_limit
#define KE make_prefill_pre_choice
#define KF make_decode_post_choice
#define KG hold_for_startup_cohort
#define KH finish_controller_epoch
#define KI cloud_decode_population
#define KJ build_decode_proc_group
#define KK finish
#define KL current
#define KM best_id
#define KN waiting_risk
#define KO stage_offset
#define KP irreversible
#define KQ first_weight
#define KR very_tolerant_balanced
#define KS tolerant_model_support
#define KT should_hold_decode_pre
#define KU reset_controller_epoch
#define KV medium_weight_tolerant
#define KW make_decode_pre_choice
#define KX handle_task_completion
#define KY full_prefill_path_cost
#define KZ cohort_scale_numerator
#define Ka build_decode_pre_group
#define Kb best_decode_proc_batch
#define Kc baseline_entry_support
#define Kd adaptive_admission_cap
#define Ke stream_cohort_support
#define Kf neutral_prefill_order
#define Kg get_or_create_request
#define Kh unit
#define Ki tp_share
#define Kj makespan
#define Kk fraction
#define Kl finishes
#define Km finished
#define Kn uplink_time
#define Ko total_limit
#define Kp score_proxy
#define Kq prefill_key
#define Kr future_tail
#define Ks decode_rate
#define Kt best_cohort
#define Ku transfer_latency_ms_
#define Kv throughput_baseline_
#define Kw strict_model_support
#define Kx population_per_cloud
#define Ky choose_rollout_cloud
#define Kz available_population
#define LA within_total_budget
#define LB ultra_entry_support
#define LC throughput_pressure
#define LD ready_prefill_count
#define LE prefill_finish_time
#define LF enqueue_ready_state
#define LG batch_hold_strength
#define LH admission_reduction
#define LI rate
#define LJ open
#define LK prefix
#define LL legacy
#define LM header
#define LN unfinished
#define LO tail_limit
#define LP saved_time
#define LQ first_tail
#define LR decode_key
#define LS confidence
#define LT cloud_rate
#define LU best_index
#define LV saved_post_service
#define LW remaining_fraction
#define LX prefill_chunk_mode
#define LY normalized_waiting
#define LZ fallback_per_layer
#define La distance_tolerance
#define Lb decode_wait_weight
#define Lc decode_finish_time
#define Ld decode_externality
#define Le ans
#define Lf token
#define Lg alpha
#define Lh prepare
#define Li desired
#define Lj deficit
#define Lk ultra_weight_gate
#define Ll queued_prefill_up
#define Lm prefill_end_layer
#define Ln deficit_threshold
#define Lo decode_efficiency
#define Lp build_assignments
#define Lq active_population
#define Lr E::BB(
#define Ls 1e-12&&
namespace{EL H IZ=6000;EL H Hg=4750;EL H CX=16;EL Aa GZ=CQ;EL Aa HE=CQ;EL H GI=1000;EL H KZ=1;EL H Fu=4;EL H JY=8;enum class F:JC char{Fh,CN,CW,Be,Ay,Cr,CH,CD,Do,Ap,Hc,Ec,Dd,FK,DK,Bv,HB,Km};JA Bc{F BQ=F::Fh;H Em=0;H J=0;H AM=-1;H Q=0;H CJ=-1;H AK=0;H FS=0;H Dz=0;Aa Ed=AQ;Aa CR=AQ;A AN=0;A AY=0;A N=0;};JA BU{H AW=-1;H Em=-1;};JA DecodeWave{H Fk=0;H Fo=0;};JA DT{A Fd=0;H AM=-1;H Fp=0;Aa EH=AQ;};JA HO{E::Hn<E::k<E::Jd<H,A>>,6>EE;Ge add_sample(H AU,B E::Hn<A,6>&Cw){CA(H Bh=0;Bh<6;++Bh){g(Cw[Bh]>=0)EE[Bh].Ah({AU,Cw[Bh]});}}Ge sort_samples(){CA(DQ&GK:EE)E::Gf(GK.Bs(),GK.FX());}A Bj(H kind,H AU)B{B DQ&GK=EE[kind];B DQ Iw=E::lower_bound(GK.Bs(),GK.FX(),E::Jd<H,A>{AU,-1e100});g(Iw==GK.Bs())C Iw->ER;g(Iw==GK.FX())C GK.back().ER;g(Iw->Cb==AU)C Iw->ER;B DQ Jq=E::prev(Iw);B A ratio=G<A>(AU-Jq->Cb)/(Iw->Cb-Jq->Cb);C Jq->ER+ratio*(Iw->ER-Jq->ER);}H Kb(A W)B{E::k<H>BN{1};CA(B DQ&[AU,Cw]:EE[4]){(Ge)Cw;BN.Ah(E::EG(AU,2000));}E::Gf(BN.Bs(),BN.FX());BN.erase(E::unique(BN.Bs(),BN.FX()),BN.FX());H Dq=1;A CB=(W+Bj(4,1));CA(H AU:BN){B A unit_cost=(W+Bj(4,AU))/AU;g(unit_cost+1e-12<CB){CB=unit_cost;Dq=AU;}}C Dq;}};Aa Gn(B E::DR&Lf,H&P){g(Lf.AU()<2||Lf[0]!='C')C AQ;Il Il Cw=0;CA(E::Eg i=1;i<Lf.AU();++i){g(!E::isdigit(G<JC char>(Lf[i])))C AQ;Cw=Cw*10+Lf[i]-'0';g(Cw>INT_MAX)C AQ;}P=G<H>(Cw);C CQ;}enum class BX:JC char{Ig,GO,JK,Gk,};JA Av{Aa AF=AQ;BX Bh=BX::Ig;A BI=0;H Dl=0;H AW=-1;H AM=-1;E::k<H>U;};JA Scheduler{static EL H BP=4096;H O;H AE;H CS;A W;A BA;A DG;A AH;A AD;A Y;A AC;A I;A q;A Cy;HO At;A Ac=0;A K=0;Aa GC=AQ;E::k<Aa>Bu;E::Hn<A,2>AL{0.,0.};E::Hn<E::Hm<DT>,2>Ae;E::Hn<E::k<E::Hm<E::Jd<A,H>> >,2>BD;E::Hn<Aa,2>BR{CQ,CQ};E::k<H>AA;E::k<H>Af;E::k<H>AO;E::k<A>Z;E::k<A>DO,Aw,Ad;H DU=0;H FA=0;H AG=0;Aa Ft=AQ;H AV=1;H AT=1;H e=1;H Bf=1;H Ao=1;H AR=0;Aa BK=AQ;Aa Hz=AQ;Il Il Ak=0;A Dc=-1;A Ew=-1;H Dw=0;H HM=0;H Fb=0;H HL=0;A Eb=0;H Gj=0;H HU=0;H Hq=0;H IW=0;Aa Es=AQ;A Jf=0;A IS=0;A In=0;A IR=0;A FU=0;E::Hn<E::k<H>,3>CT;E::Hn<E::k<H>,3>CE;E::k<A>Bn;E::k<H>BV;E::k<H>De;Aa Ca=AQ;H FC=0;A Bz=0,DL=0;H CU=1,Ds=1;Aa T()B{C Cy>=2*q&&!CK()&&!Al();}A Hi(H EJ,H AI)B{A FP=L(3+EJ,AI);g(!EJ)FP=Lr FP,BA*E::EG(O,AI)+M(AI)-BA);Bi g(EJ==1)FP=Lr FP,M(AI));C FP;}H Ba=64;H DJ=64;H Ax=0;H AJ=0;H Ea=-1;A EA=0;A Gw=0;Aa AP=AQ;H BT=0;H FR=0;Il Il Gv=0;E::k<H>Dp;H Bb=0;H Hk=0;H Cj=0;Aa Ee=AQ;H CO=0;H CY=0;E::k<H>EM;E::k<H>EI;E::k<A>DV;E::Hn<H,18>Bo{};E::k<H>CP;E::k<Bc>D;E::k<DecodeWave>Bl;E::Hm<BU>GG;E::Hm<BU>Fr;E::Hm<BU>CZ;E::Hm<BU>Db;E::Hm<BU>EN;E::k<E::Hm<BU>>By;E::k<E::Hm<BU>>EC;Scheduler(H num_clouds_,H num_layers_,H bytes_per_token_,A task_setup_ms_,A Ku,A bandwidth_gbps_,A tdr_slo_ms_,A tpot_slo_ms_,A KB,A Kv,A distance_base_,A w_tp_,A w_c_,HO task_times_):O(num_clouds_),AE(num_layers_),CS(bytes_per_token_),W(task_setup_ms_),BA(Ku),DG(bandwidth_gbps_),AH(tdr_slo_ms_),AD(tpot_slo_ms_),Y(KB),AC(Kv),I(distance_base_),q(w_tp_),Cy(w_c_),At(E::Iv(task_times_)),Bu(O),AA(O),Af(O),AO(O),Z(O),DO(O,-1e100),Aw(O),Ad(O),EM(O),EI(O),DV(O),CP(O),By(O),EC(O){BD[0].Fn(O);BD[1].Fn(O);CA(H Cn=0;Cn<3;++Cn){CT[Cn].Fn(BP+1);CE[Cn].Fn(BP+1);H BE=1;A CB=E::BO<A>::DC();CA(H AU=1;AU<=BP;++AU){B A Kh=L(3+Cn,AU)/AU;B A eps=E::Co(CB)?1e-12*Lr 1.,E::HR(CB)):0;g(!E::Co(CB)||Kh<CB-eps||(E::HR(Kh-CB)<=eps&&AU>BE)){BE=AU;CB=Kh;}CT[Cn][AU]=BE;g(q<=Ls Cy>1e-12){H Ht=1;A Hu=E::BO<A>::DC();CA(H HF=1;HF<=AU;++HF){B H full=AU/HF;B H rem=AU%HF;B A full_cost=L(3+Cn,HF);A area=G<A>(HF)*full_cost*full*(full+1)/2.;g(rem>0){area+=G<A>(rem)*(full*full_cost+L(3+Cn,rem));}g(area<Hu-1e-12||(E::HR(area-Hu)<=Ls HF>Ht)){Hu=area;Ht=HF;}}CE[Cn][AU]=Ht;}Bi{CE[Cn][AU]=CT[Cn][AU];}}}g(T())CA(H EJ=0;EJ<3;++EJ){E::k<A>DX(2001,E::BO<A>::DC());DX[0]=0;CA(H R=1;R<=2000;++R)CA(H AI=1;AI<=R;++AI){A Gr=DX[R-AI]+Hi(EJ,AI),Ir=1e-12*Lr 1.,E::HR(DX[R]));g(Gr<DX[R]-Ir||(E::HR(Gr-DX[R])<=Ir&&AI>CT[EJ][R]))DX[R]=Gr,CT[EJ][R]=AI;}}AV=At.Kb(W);B H Cp=2000;Bn.assign(Cp+1,E::BO<A>::DC());BV.assign(Cp+1,1);De.assign(Cp+1,1);A Dt=0;A DS=0;H Gt=1;E::k<A>IB(Cp+1);CA(H Az=1;Az<=Cp;++Az){A HZ=E::BO<A>::DC();H best_q=1;CA(H Au=1;Au<=E::EG(O,Az);++Au){E::k<H>Jk(Au,Az/Au);CA(H i=0;i<Az%Au;++i)++Jk[i];A Cc=L(3,Az);E::k<E::Jd<A,H>>CF;CF.GL(Au);A JU=0;CA(H AI:Jk){Cc+=M(AI);CF.Ah({Cc+L(4,AI),AI});JU+=G<A>(AI)/L(4,AI);}E::Gf(CF.Bs(),CF.FX());A Cm=0;CA(B DQ&[KK,AI]:CF){Cm=Lr Cm,KK)+M(AI);}B A Iz=Cm+L(5,Az);g(Iz<HZ-1e-12){HZ=Iz;best_q=Au;}B A edge_capacity=G<A>(Az)/(L(3,Az)+L(5,Az));B A link_capacity=G<A>(Az)/(Au*BA+8. *G<A>(CS)*Az/(DG*1e6));DS=Lr DS,E::EG({edge_capacity,JU,link_capacity}));}IB[Az]=DS;Bn[Az]=HZ;De[Az]=best_q;B A LI=G<A>(Az)/HZ;g(LI>Dt+1e-12){Dt=LI;Gt=Az;}BV[Az]=(Az==1?1:BV[Az-1]);B H Jg=BV[Az];g(LI>G<A>(Jg)/Bn[Jg]+1e-12){BV[Az]=Az;}}Bz=DS>1e-15?Dt/DS:0;B A single_rate=1./Bn[1];B A Du=Dt/Lr 1e-15,single_rate);B A La=I/(I+32.);B A BS=q+Cy*La;Ac=E::BO<A>::DC();A DI=0;E::k<H>Cu{1};CA(B DQ&column:At.EE){CA(B DQ&[AU,Cw]:column){(Ge)Cw;Cu.Ah(AU);}}E::Gf(Cu.Bs(),Cu.FX());Cu.erase(E::unique(Cu.Bs(),Cu.FX()),Cu.FX());CA(H AU:Cu){B A path=L(0,AU)+2. *M(AU)+L(1,AU)+L(2,AU);Ac=E::EG(Ac,path);DI=Lr DI,path);}B A modeled_norm_tp=E::Br((Dt-AC)/Lr 1e-15,Y-AC),0.,1.);B Aa generous_waiting=Ac<=0.65*AH+Ls Bn[1]<=0.65*AD+1e-12;Hz=AC>1e-15&&q>=0.35-Ls Cy+1e-12>=q&&I>=256.&&I<10000.&&BS>=0.95-Ls modeled_norm_tp>=0.75-Ls DI>=1.20*Ac-Ls generous_waiting;B Aa IX=q>=0.72-1e-12||(I>=10000.&&Y>1.);B Aa KV=q>=0.72-Ls q<=0.86+Ls I>=256.&&BS>=0.97-1e-12;B Aa KR=q>=0.30-Ls q<=0.70+Ls I>=10000.&&Y>1.&&BS>=0.97-1e-12;B Aa Kw=Bz>=0.72-Ls Du>=1.18-1e-12;B Aa KS=Bz>=0.52-Ls Du>=1.05-1e-12;B Aa IG=O>=2&&Cy>0.02&&IX&&BS>=0.90-Ls Gt>=2&&(Kw||((KV||KR)&&KS));B A IO=q+Cy;B A IM=IO>1e-15?q/IO:0.;B A Lk=E::Br((IM-0.95)/0.03,0.,1.);B A Ke=Bz*E::sqrt(Lr 1.,Du));B A IN=E::Br((IM-0.82)/0.08,0.,1.);g(O>=2&&I>=64.&&BS>=0.90-Ls IN>1e-12){FC=E::Br(G<H>(E::IK(IN*JY*O)),2,8*O);}B Aa Df=O>=2&&IX&&Gt>=2&&Du>=1.02-Ls Lk*Ke>=0.45+.25*Cy-1e-12;Ca=IG||Df;Ds=BV[E::EG(Cp,Lr 8,O*E::Br(AV,2,64)))];Ba=Lr 24,E::EG(192,Ds));DJ=Ba;B H bootstrap_index=E::EG(Cp,Lr 1,Ds));B Aa Jo=Du>=G<A>(Ba)-Ls DI<=Bn[bootstrap_index]+1e-12;B Aa Kc=Jo&&Bz>=.74-1e-12;B Aa LB=Df&&Bz>=0.45-1e-12;g(Ca&&(Kc||LB)){H IV=Ba;B DQ Kp=[&](H R){B H IL=BV[E::Br(R,1,Cp)];B A Iz=Bn[IL];B A LI=G<A>(IL)/Iz;B A Ho=E::Br((LI-AC)/Lr 1e-15,Y-AC),0.,1.);B A JG=Lr 0.,Iz/Lr 1e-9,AH)-1.);B A Ib=Lr 0.,Iz/Lr 1e-9,AD)-1.);B A Fz=E::hypot(JG,Ib);B A Jv=I>1e-15?E::Br(1.-Fz/I,0.,1.):G<A>(Fz<=1e-12);C q*Ho+Cy*Jv;};B A singleton_score=Kp(1);CA(H R=2;R<=Ba;++R){B H IL=BV[R];g(IL>=2&&Kp(R)>singleton_score+1e-12){IV=R;Fx;}}DJ=IV;}g(q>=0.72-1e-12){e=2000;}Bi{B A Ej=q+Cy;B A Ki=Ej>0?q/Ej:.5;H GY=4;g(Ki<0.34)GY=1;g(Ki>0.67)GY=3;B H practical_batch=E::EG(AV,64);B H window_cap=Ki>0.67?768:512;e=E::Br(O*practical_batch*GY,1,window_cap);}g(I>=10000.)e=2000;g(I>=100.&&I<10000.&&q>Ls q<.25-1e-12){e=E::EG(1024,8*O*E::EG(AV,64));}g(q>=0.55-Ls q<0.72-Ls Cy>0.05&&I>=256.&&I<10000.&&BS>=0.90-1e-12){B DQ model=[&](H R){B H IL=BV[R];B A cohort_rate=IL/Bn[IL];B A finite_pipeline=E::EG(IB[R],R/Bn[1]);B A LI=Lr cohort_rate,finite_pipeline);B A robust_rate=0.85*LI;B A Ho=E::Br((robust_rate-AC)/Lr 1e-15,Y-AC),0.,1.);B A HS=Lr 0.,R/Lr 1e-15,LI)/Lr 1e-9,AD)-1.);B A Jv=I>1e-15?Lr 0.,1.-HS/I):G<A>(HS<=1e-12);C E::Jd<A,A>{q*Ho+Cy*Jv,Ho};};B H FZ=E::Br(e,1,Cp);B DQ Ju=model(FZ);H BN=FZ;DQ HY=Ju;CA(H R=1;R<FZ;++R){B DQ Cw=model(R);g(Cw.Cb>HY.Cb+1e-12){BN=R;HY=Cw;}}g(BN<FZ&&HY.Cb>=Ju.Cb+0.001&&HY.ER+0.005>=Ju.ER){A fade_weight=E::Br((BS-0.985)/0.010,0.,1.);e=Lr O,G<H>(E::IK(FZ+fade_weight*(BN-FZ))));}}g(q<=Ls Cy>=0.95-Ls I<2.){e=Lr 1,e*15/16);}B A Ja=q>1e-12?E::Br((0.30-q)/0.12,0.,1.):0.;e=Lr e,G<H>(E::IK(e+Ja*(2000-e))));g(T()){E::k<A>FI(2001);A Fa=-E::BO<A>::DC();CA(H R=1;R<=2000;++R){H Au=E::EG(O,R),per_cloud_batch=(R+Au-1)/Au;A HW=L(3,R)+2*(BA*Au+M(R)-BA)+L(4,per_cloud_batch)+L(5,R),Ks=G<A>(R)/HW;DL=Lr DL,Ks);A BM=E::Br((Ks-AC)/Lr 1e-15,Y-AC),0.,1.),JM=Lr 0.,(1.5*HW-AD)/Lr 1e-9,AD)),LY=I>1e-15?Lr 0.,1-JM/I):G<A>(JM<=1e-12);FI[R]=q*BM+Cy*LY;Fa=Lr Fa,FI[R]);}A GT=.04+.15*Lr 0.,q-.55);CA(H R=1;R<=2000;++R)g(FI[R]>=Fa-GT)CU=R;CU=Lr CU,O);}AT=e;Bf=O*E::Br(AV,1,64);Ao=AT;g(I>=100.&&I<10000.&&q>=0.1-Ls AT<2000){g(q<.25-1e-12){Ao=E::EG(1024,AT+3*Bf);}Bi g(q<0.7-1e-12){Ao=2000;}Bi g(q<0.8-1e-12){Ao=E::EG(1536,AT+2*Bf);}}g(I>=100.&&I<10000.&&q>Ls q<.25-1e-12){Ao=AT;}}Aa AS(H id)B{C id>=0&&id<G<H>(D.AU());}Aa Al()B{C Ar()==1&&Cy>q;}Aa BY()B{C AP;}Bc&Kg(H id){g(id>=G<H>(D.AU()))D.Fn(G<E::Eg>(id)+1);C D[id];}Aa JR(F BQ)B{C BQ==F::CN||BQ==F::Ay||BQ==F::CD||BQ==F::Ap||BQ==F::Dd||BQ==F::Bv;}Ge Hf(F BQ,H P,H delta){g(!JR(BQ))C;Bo[G<E::Eg>(BQ)]+=delta;g(BQ==F::Dd&&P>=0&&P<O){CP[P]+=delta;}}Ge LF(H id){B BU Fg{id,D[id].Em};switch(D[id].BQ){case F::CN:GG.Ah(Fg);Fx;case F::Ay:By[D[id].AM].Ah(Fg);Fx;case F::CD:Fr.Ah(Fg);Fx;case F::Ap:g(D[id].Q==0)CZ.Ah(Fg);Bi Db.Ah(Fg);Fx;case F::Dd:EC[D[id].AM].Ah(Fg);Fx;case F::Bv:EN.Ah(Fg);Fx;default:Fx;}}Ge BJ(H id,F to){Bc&r=D[id];Hf(r.BQ,r.AM,-1);r.BQ=to;++r.Em;g(JR(to))r.AY=K;Hf(r.BQ,r.AM,1);LF(id);}Aa BW(H id,F from,F to){g(!AS(id)||D[id].BQ!=from)C AQ;BJ(id,to);C CQ;}Aa release_server(B E::DR&Fm){g(Fm=="E"){g(!GC)C AQ;GC=AQ;C CQ;}H P=-1;g(!Gn(Fm,P)||P<0||P>=O||!Bu[P])C AQ;Bu[P]=AQ;Aw[P]=Ad[P]=0;C CQ;}Ge Ck(H Am,H P,Aa Cl,H units){g(Am<0||Am>1||P<0||P>=O||units<=0||!BR[Am])C;B A due=Lr K,AL[Am])+M(units);AL[Am]=due;Ae[Am].Ah({due,P,units,Cl});g(Cl)BD[Am][P].Ah({due,units});}Ge Cx(H Am){BR[Am]=AQ;Ae[Am].clear();CA(DQ&EK:BD[Am])EK.clear();AL[Am]=K;}Ge CV(H Am,H P,Aa Cl,Il Il bytes,H members){g(Am<0||Am>1||!BR[Am])C;DQ&EK=Ae[Am];g(EK.Dg()){Cx(Am);C;}B DT El=EK.Iy();B Il Il modeled_bytes=G<Il Il>(CS)*El.Fp;B A Ir=1e-7*Lr 1.,E::HR(K));g(El.AM!=P||El.EH!=Cl||modeled_bytes!=bytes||(Cl&&El.Fp!=members)||E::HR(El.Fd-K)>Ir||(!Cl&&members!=1)){Cx(Am);C;}EK.Jt();g(Cl){DQ&GQ=BD[Am][P];g(GQ.Dg()||E::HR(GQ.Iy().Cb-El.Fd)>Ir||GQ.Iy().ER!=El.Fp){Cx(Am);C;}GQ.Jt();}g(EK.Dg())AL[Am]=K;}E::Jd<A,H>Aq(H Am,H P=-1)B{g(Am<0||Am>1||!BR[Am]){C{E::BO<A>::DC(),0};}E::Jd<A,H>BE{E::BO<A>::DC(),0};B H Cb=P<0?0:P;B H last=P<0?O:P+1;CA(H GW=Cb;GW<last;++GW){B DQ&EK=BD[Am][GW];g(!EK.Dg()&&EK.Iy().Cb>K+1e-9&&EK.Iy().Cb<BE.Cb){BE=EK.Iy();}}C BE;}Aa As()B{C E::JB(AO.Bs(),AO.FX(),[](H Js){C Js>0;});}Aa CL(B E::k<H>&Ci)B{C E::JB(Ci.Bs(),Ci.FX(),[&](H id){C AS(id)&&D[id].Q>0;});}Aa FH()B{C Hz&&!BK&&!As();}Aa Ik(H J)B{B A Ep=M(J);B A remote=W+L(1,J);B A edge=W+L(0,J);C Ep>=2. *remote-Ls Ep>=1.25*edge-1e-12;}Aa FD()B{g(!BR[0]||Ax<64)C AQ;C E::JB(Ae[0].Bs(),Ae[0].FX(),[&](B DT&FY){C!FY.EH&&Ik(FY.Fp);});}H Ll()B{C G<H>(E::count_if(Ae[0].Bs(),Ae[0].FX(),[](B DT&FY){C!FY.EH;}));}A KY(H id)B{B H J=D[id].J;C L(0,J)+2. *M(J)+L(1,J)+L(2,J);}A EP(H id)B{g(!AS(id)||!BR[0]||Ae[0].Dg()||As()||Cy<=q+1e-12)C 0;B H J=D[id].J;B A Ep=M(J);B A edge=L(0,J);B A remote=L(1,J);B A Ej=Lr 1e-12,q+Cy);B A Im=E::Br((Cy-q)/(0.10*Ej),0.,1.);B A link_ratio=E::EG(Ep/Lr 1e-12,edge),O*Ep/Lr 1e-12,2. *remote));B A cost_strength=E::Br((link_ratio-0.80)/0.20,0.,1.);A EU=Im*cost_strength;g(EU<=1e-12||KY(id)<=Ac+edge+1e-12){C 0;}B A queue_per_cloud=G<A>(Ll())/Lr 1,O);B A Ef=IZ*0.001-Hg*0.001*EU;B A depth_strength=E::Br(queue_per_cloud-(Ef-1.),0.,1.);EU*=depth_strength;g(BK){EU*=0.75+0.15*Im;}C EU;}Aa KC(H id)B{g(id<0||As()||!BR[0]||Ae[0].Dg())C AQ;B Aa legacy_hold=!BK&&FD();g(!legacy_hold&&!(q>=.4-Ls q<.5-1e-12)&&EP(id)<0.85-1e-12){C AQ;}g(Cy>q+Ls I>=100.-Ls Ew>=0&&AH>1e-12){B A FY=M(D[id].J);B A JN=.005*AH;B A KP=FY+L(0,D[id].J);B A Hb=.01*AH;B Aa within_budget=FY<=JN+1e-12*Lr 1.,JN)&&KP<=Hb+1e-12*Lr 1.,Hb);B A JH=(K-Ew)/(2. *AH);B H epochs=JH>=4.?4:(JH<=0.?0:G<H>(JH));B H per_epoch=Lr 1,(O+3)/4);B H Jy=epochs*per_epoch;B A LO=.04*AH;B A Ko=.04*AH;B Aa LA=Jy*FY<=LO+1e-12*Lr 1.,LO)&&Jy*KP<=Ko+1e-12*Lr 1.,Ko);H JP=0;CA(B DT&Fg:Ae[0]){g(!Fg.EH)++JP;}g(within_budget&&LA&&JP<Jy){C AQ;}}B A next_wakeup=Ae[0].Iy().Fd;B A Lh=L(0,D[id].J);C(q>=.4-Ls q<.5-1e-12)||next_wakeup+Lh<=AL[0]+1e-12*Lr 1.,E::HR(AL[0]));}Aa KX(E::istream&in){E::DR Fm,family,Cn;g(!(in>>Fm>>family>>Cn)||!release_server(Fm))C AQ;g(family=="P"){g(Cn=="PRE"){H P=-1,id=-1;A CM=0;g(!(in>>P>>id>>CM))C AQ;g(Fm!="E"||!AS(id)||D[id].AM!=P)C AQ;g(!BW(id,F::CW,F::Be))C AQ;Ck(0,P,AQ,D[id].J);C CQ;}g(Cn=="PROC"){H l=-1,r=-1,P=-1,id=-1;A CM=0;g(!(in>>l>>r>>P>>id>>CM))C AQ;H Hp=-1;g(!Gn(Fm,Hp)||Hp!=P||!AS(id)||D[id].AM!=P||l!=D[id].AK||r!=D[id].FS||l<0||l>=r||r>AE){C AQ;}B A raw=At.Bj(1,D[id].J)*G<A>(r-l)/AE;Z[P]=Lr 0.,Z[P]-raw);D[id].AK=r;++D[id].Dz;g(r==AE){BJ(id,F::CH);Ck(1,P,AQ,D[id].J);}Bi{BJ(id,F::Ay);}C CQ;}g(Cn=="POST"){H P=-1,id=-1;A CM=0;g(!(in>>P>>id>>CM))C AQ;g(Fm!="E"||!AS(id)||D[id].AM!=P)C AQ;g(!BW(id,F::Do,F::Ap))C AQ;--AJ;EA-=D[id].AN;Gw+=K-D[id].AN;D[id].N=K;++AR;C CQ;}C AQ;}g(family!="D")C AQ;H P=-2,Bk=0;g(!(in>>P>>Bk)||Bk<1)C AQ;E::k<H>Ci(G<E::Eg>(Bk));CA(H&id:Ci){g(!(in>>id))C AQ;}A CM=0;g(!(in>>CM))C AQ;g(Cn=="PRE"){g(Fm!="E"||P!=-1)C AQ;E::k<H>DW(O);CA(H id:Ci){g(!BW(id,F::Hc,F::Ec))C AQ;++DW[D[id].AM];}CA(H FO=0;FO<O;++FO){g(DW[FO]>0)Ck(0,FO,CQ,DW[FO]);}C CQ;}g(Cn=="PROC"){H Hp=-1;g(!Gn(Fm,Hp)||Hp!=P||P<0||P>=O){C AQ;}CA(H id:Ci){g(!AS(id)||D[id].AM!=P||!BW(id,F::FK,F::DK)){C AQ;}}Ck(1,P,CQ,Bk);C CQ;}g(Cn=="POST"){g(Fm!="E"||P!=-1)C AQ;CA(H id:Ci){g(!AS(id)||D[id].BQ!=F::HB)C AQ;Bc&r=D[id];g(r.Q==0){++AO[r.AM];Dp.Ah(id);}++r.Q;++Ak;r.N=K;BJ(id,F::Ap);}C CQ;}C AQ;}Aa JW(E::istream&in){E::DR Am,HH;H P=-1,Bk=0;Il Il AU=0;g(!(in>>Am>>P>>AU>>HH>>Bk)||P<0||P>=O||AU<0||Bk<1){C AQ;}E::k<H>Ci(G<E::Eg>(Bk));CA(H&id:Ci){g(!(in>>id))C AQ;}g(HH=="PRE"){g(Bk!=1||!AS(Ci[0])||D[Ci[0]].AM!=P)C AQ;g(Am=="UP"){CV(0,P,AQ,AU,Bk);C BW(Ci[0],F::Be,F::Ay);}g(Am=="DOWN"){CV(1,P,AQ,AU,Bk);C BW(Ci[0],F::CH,F::CD);}C AQ;}g(HH!="DEC")C AQ;g(Am=="UP"){CV(0,P,CQ,AU,Bk);CA(H id:Ci){g(!AS(id)||D[id].AM!=P||!BW(id,F::Ec,F::Dd)){C AQ;}}C CQ;}g(Am=="DOWN"){CV(1,P,CQ,AU,Bk);CA(H id:Ci){g(!AS(id)||D[id].AM!=P||!BW(id,F::DK,F::Bv)){C AQ;}B H Bp=D[id].CJ;g(Bp>=0&&Bp<G<H>(Bl.AU()))++Bl[Bp].Fo;}C CQ;}C AQ;}Aa read_event(E::istream&in,E::k<H>&GP){E::DR GM;g(!(in>>GM))C AQ;g(GM=="ARR"){H id=-1,J=0;g(!(in>>id>>J)||id<0||J<=0)C AQ;Bc&V=Kg(id);g(V.BQ!=F::Fh)C AQ;V.J=J;V.AN=K;Ew=K;Ee=CQ;++Ax;++AJ;EA+=K;g(Dc<0)Dc=K;BJ(id,F::CN);C CQ;}g(GM=="FIN"){H id=-1;g(!(in>>id)||!AS(id))C AQ;GP.Ah(id);C CQ;}g(GM=="TDN")C KX(in);g(GM=="XDN")C JW(in);C AQ;}Aa finish_frame(B E::k<H>&GP){E::k<JC char>Kl(D.AU(),0);CA(H id:GP){g(AS(id))Kl[id]=1;}CA(H id:Dp){g(!AS(id))C AQ;++Bb;g(id>=G<H>(Kl.AU())||!Kl[id]){++Cj;}}g(Ee){Hk=Bb;Ee=AQ;}Dp.clear();CA(H id:GP){g(!AS(id)||D[id].BQ!=F::Ap||D[id].Q<=0){C AQ;}Bc&V=D[id];g(!V.Ed||V.AM<0||V.AM>=O||AA[V.AM]<=0)C AQ;--AA[V.AM];V.Ed=AQ;g(!V.CR||AG<=0||Af[V.AM]<=0)C AQ;--AG;--Af[V.AM];g(V.Q>0&&AO[V.AM]>0)--AO[V.AM];V.CR=AQ;++BT;Gv+=V.Q;g(V.Q==1)++FR;g(V.Q>1)BK=CQ;BJ(id,F::Km);}g(!Ag()&&BT>=8&&q>0.10){B A singleton_ratio=G<A>(FR)/BT;B A mean_tokens=G<A>(Gv)/BT;g(singleton_ratio>=0.75&&mean_tokens<=1.5){B A LS=E::EG(1.,(BT-7)/24.);B A GT=I/(I+16.);B A Gg=LS*(0.45+0.55*q)*(0.35+0.65*GT);B H Li=E::Br(G<H>(E::IK(AT+Gg*(2000-AT))),AT,2000);e=Lr e,Li);Ao=Lr Ao,Li);g(LS>=0.75)AT=Lr AT,Li);}}C CQ;}E::k<H>AZ(E::Hm<BU>&EK,F Gq){E::k<H>Ci;B E::Eg Js=EK.AU();Ci.GL(Js);CA(E::Eg i=0;i<Js;++i){B BU Fg=EK.Iy();EK.Jt();g(!AS(Fg.AW)||D[Fg.AW].Em!=Fg.Em||D[Fg.AW].BQ!=Gq){CI;}Ci.Ah(Fg.AW);EK.Ah(Fg);}C Ci;}H JT(E::Hm<BU>&EK,F Gq){while(!EK.Dg()){B BU Fg=EK.Iy();EK.Jt();g(!AS(Fg.AW)||D[Fg.AW].Em!=Fg.Em||D[Fg.AW].BQ!=Gq){CI;}EK.Ah(Fg);C Fg.AW;}C-1;}A L(H kind,H AU)B{C W+At.Bj(kind,AU);}Aa Bd()B{C q<=Ls Cy>1e-12;}Aa JZ()B{C Cy<=1e-15&&q>1e-15;}Aa Eo()B{C Bb>=8&&Cj==0;}H LD()B{C Bo[G<E::Eg>(F::CN)]+Bo[G<E::Eg>(F::Ay)]+Bo[G<E::Eg>(F::CD)];}Aa EZ()B{C Cy>=0.30-Ls q<=0.52+Ls I>=512.-Ls Y<=1.+1e-12;}Aa GR()B{C!BK&&EZ();}A LC()B{C q+Cy*I/(I+32.);}A HQ()B{g(EZ()){C 0.;}B A teacher_strength=E::Br((LC()-0.985)/0.010,0.,1.);C 1.-teacher_strength;}Aa BL()B{C GR()&&q>=0.45-1e-12;}Aa Bx()B{C GR()&&AJ>=(Eo()?2:Lr 2,(O+1)/2));}Aa IH()B{B A relative_span=(Y-AC)/Lr 1e-15,Lr E::HR(Y),E::HR(AC)));C Cy+1e-12>=q&&!Ag()&&relative_span+1e-12>=.10&&Eo()&&LD()>=Lr 2,O);}Aa FG()B{C Bd()&&I<=8.+1e-12;}Aa Jm()B{g(FG())C CQ;g(!Bd())C AQ;B H R=E::Br(Lr 1,AG),1,BP);C CE[0][R]==1&&CE[2][R]==1;}Aa CK()B{C Ar()==1&&q>Cy||Ar()==2&&q<Cy||!Ar()&&(q>=.2&&q<.3||q>=.6&&q<.7||q>.95&&Cy+1e-12>=.02);}Aa AB()B{C!CK()&&q>=.88&&Cy>Ls Cy<=.02+1e-12;}Aa An()B{C AB();}H Ff()B{H R=E::EG(2000,Lr 1,Ax-BT)),Io=E::EG(O,R);g(Io<2)C 1;A Fl=0,BH=0;CA(B DQ&x:D)g(x.BQ!=F::Fh){Fl+=L(0,x.J)+2*M(x.J)+L(1,x.J)+L(2,x.J);BH+=At.Bj(1,x.J);}Fl/=Lr 1,Ax);BH/=Lr 1,Ax);A Fa=-1e100;H IY=1;CA(H Au=1;Au<=Io;++Au){A edge_rate=R/(L(3,R)+L(5,R)),link_rate=R/(Au*BA+8. *G<A>(CS)*R/(DG*1e6)),LT=0,Cc=L(3,R);E::k<E::Jd<A,H>>CF;CA(H i=0;i<Au;++i){H x=R/Au+(i<R%Au);LT+=x/L(4,x);Cc+=M(x);CF.Ah({Cc+L(4,x),x});}A Et=E::EG({edge_rate,link_rate,LT}),BM=E::Br((Et-AC)/Lr 1e-15,Y-AC),0.,1.);E::Gf(CF.Bs(),CF.FX());A Cm=0;CA(DQ Di:CF)Cm=Lr Cm,Di.Cb)+M(Di.ER);A HW=Cm+L(5,R),predicted_tpot=Lr HW,R/Lr Et,1e-30)),predicted_tdr=Fl+BH*Lr 0.,G<A>(R)/Au-1.)*.45,JG=Lr 0.,predicted_tdr/AH-1.),Ib=Lr 0.,predicted_tpot/AD-1.),Fz=E::hypot(JG,Ib),Gb=Lr 0.,1-Fz/I),Jp=q*BM+Cy*Gb+1e-5*Cy*(Gb<=1e-15?-Fz/(1+Fz):-Fz)+1e-6*q*(BM>=1-1e-15?Et/(1+Et):Et)-1e-9*Au;g(Jp>Fa+1e-12){Fa=Jp;IY=Au;}}C IY;}H Gx(H Au)B{A BH=0;CA(B DQ&V:D)g(V.BQ!=F::Fh)BH+=At.Bj(1,V.J);BH/=Lr 1,Ax);A EV=E::Br(I,.12,8.),p=Cy/(Cy+q*EV),EX=1e100;H BF=0;CA(H c=0;c<Au;++c){H Hx=Af[c];CA(B DQ&V:D)Hx+=!V.CR&&V.AM==c&&V.BQ==F::Ap;A Ji=AA[c],Gy=(1-p)*(Ji*BH+.35*Hx*L(4,Lr 1,Hx)))+p*(Z[c]+Lr 0.,Aw[c]-K)+.25*Ji*BH)+1e-7*c;g(Gy<EX){EX=Gy;BF=c;}}C BF;}H GX(H EJ,B E::k<H>&Ci)B{A Fq=0;CA(H id:Ci)Fq=Lr Fq,(K-D[id].N)/Lr 1e-9,AD*(D[id].Q?1.:2.)));H Cd=5;g(Fq>1.15)--Cd;g(Fq>1.8)--Cd;C BZ(EJ,G<H>(Ci.AU()),Cd);}H II(H id,H P)B{B DQ&V=D[id];H IQ=AE-V.AK;g(IQ<=1||AE<=1||!AO[P])C AE;A full_raw_cost=At.Bj(1,V.J),Gm=full_raw_cost/AE,p=Bq(),Cz=AD*(.14+1.35*(1-p));Cz=Lr Cz,W*(1.25+2.5*(1-p)));A age_ratio=(K-V.AN)/Lr 1e-9,AH);g(age_ratio>.72)Cz*=1+3*(age_ratio-.72)*Lr.25,p);DQ HJ=Aq(0,P);g(E::Co(HJ.Cb)&&HJ.Cb>K&&p>.25)Cz=E::EG(Cz,Lr W+Gm,(HJ.Cb-K)*.95));H Gp=Lr 1,G<H>(E::floor(Lr Gm,Cz-W)/Lr 1e-15,Gm)+1e-10)));Gp=E::EG(Gp,IQ);H Eh=V.AK+Gp;Aa JX=E::JB(AO.Bs(),AO.FX(),[](H v){C v>0;})&&(M(V.J)>.18*AD||AL[1]-K>.12*AD||E::JB(D.Bs(),D.FX(),[](B Bc&r){C r.BQ==F::DK||r.BQ==F::FK;}));A slack_ratio=(V.AN+AH-(K+FT(id,2)))/Lr 1e-9,AH);g(Eh==AE&&JX&&p>.35&&slack_ratio>.08&&V.AK<AE-1)--Eh;C Lr V.AK+1,Eh);}Aa JV(H AX,B E::k<H>&BC)B{H Ab=G<H>(BC.AU());A p=Bq(),Lc=K+L(4,Ab)+M(Ab)+L(5,Ab),EB=E::BO<A>::DC();CA(H id:BC)EB=E::EG(EB,D[id].Q?D[id].N+AD:K+(1.5+1.5*(1-p))*AD);A Hw=(EB-Lc)/AD;B DQ&Aj=D[AX];A LE=K+W+At.Bj(1,Aj.J)*G<A>(AE-Aj.AK)/AE+M(Aj.J)+L(2,Aj.J),HI=(Aj.AN+AH-LE)/AH,Lo=G<A>(Ab)/L(4,Ab)/(G<A>(AV)/L(4,AV)),decode_score=4.5+1.2*(1-p)*Lo-p*Hw+.14*E::log1p(G<A>(Ab)),Jh=(As()?2.05:5)+1.8*p-p*HI;g(As())Jh-=p*E::EG(3.,M(Aj.J)/AD+Lr 0.,AL[1]-K)/AD);C E::EG(Hw,HI)<.12+.42*p?Hw<=HI:decode_score>=Jh;}A ID(B Av&X)B{A p=Cy/Lr 1e-15,Cy+q*E::Br(I,.12,8.)),Dy=X.U.AU(),HV=0,Jp=0;g(X.Bh==BX::Gk){H GN=CT[2][BP];HV=Dy/Lr 1e-15,L(5,G<H>(Dy)))/(GN/Lr 1e-15,L(5,GN)));Jp=5.25+1.15*(1-p)*HV+.16*E::log1p(Dy)-p*X.BI;}Bi g(X.Bh==BX::JK){H GN=CT[0][BP];HV=Dy/Lr 1e-15,L(3,G<H>(Dy)))/(GN/Lr 1e-15,L(3,GN)));Jp=3.8+1.2*(1-p)*HV+.18*E::log1p(Dy)-p*X.BI;}Bi Jp=X.Bh==BX::GO?4.45+2*p-p*X.BI:2+1.7*p-p*X.BI;C Jp;}Aa Dx()B{C An()&&!Ak&&AJ>0&&Bo[G<E::Eg>(F::Ap)]<Lr 2,BZ(0,E::EG(2000,Lr 1,Ax-BT)),5))&&Ai();}H KI(H P)B{H R=Af[P];CA(B DQ&V:D)R+=!V.CR&&V.AM==P&&V.BQ==F::Ap;C R;}E::Jd<A,H>EQ()B{DQ GU=Aq(1);CA(A HX:Aw)g(E::Co(HX)&&HX>=K-1e-9&&HX+M(1)<GU.Cb)GU={HX+M(1),1};C GU;}Aa Ey(H EJ,H FQ,H R,E::Jd<A,H>DB)B{g(!AB()||FQ<1||DB.ER<1||!E::Co(DB.Cb)||DB.Cb<K-1e-9)C AQ;R=E::EG(2000,Lr FQ,R));g(FQ>=BZ(EJ,R,5))C AQ;A LP=L(3+EJ,FQ)+L(3+EJ,1)-L(3+EJ,FQ+1);C LP>Ls DB.Cb-K<=(.55+.4*q)*LP+1e-9;}Aa IE(B E::k<H>&Ci)B{g(Ci.Dg()||!Ai())C AQ;H Bp=D[Ci[0]].CJ;g(Bp<0||Bp>=G<H>(Bl.AU())||Bl[Bp].Fo>=Bl[Bp].Fk)C AQ;B DQ&V=D[Ci[0]];A GA=Lr 0.,K-V.AY),token_age=V.Q?K-V.N:0,p=Cy/Lr 1e-15,Cy+q*E::Br(I,.12,8.)),Ih=AD*(.012+.36*(1-p));g(!V.Q)Ih*=1.5;g(GA>=Ih||V.Q&&token_age/Lr 1e-9,AD)>.78+.35*(1-p))C AQ;A Gu=EQ().Cb;C E::Co(Gu)&&Gu-K<=Lr 0.,Ih-GA)+1e-9;}A Hj(H id,H P)B{B DQ&V=D[id];A Fi=K+L(0,V.J),Cc=Lr AL[0],Fi)+M(V.J),IA=Lr 0.,Z[P]-Ad[P]);H If=0;CA(B DQ&CG:D)If+=CG.AM==P&&(CG.BQ==F::CW||CG.BQ==F::Be||CG.BQ==F::Ay||CG.BQ==F::Cr);If-=Ad[P]>0;IA+=W*If;A GV=Lr Cc,Aw[P])+IA+L(1,V.J);GV=Lr AL[1],GV)+M(V.J);C Lr GV,Fi)+L(2,V.J);}H BZ(H EJ,H R,H Cd)B{A target_ratio=Cd<1?.82:Cd<2?.88:Cd<3?.93:Cd<4?.97:Cd<5?.99:.999999999,Jw=0;CA(H AI=1;AI<=R;++AI)Jw=Lr Jw,AI/(L(3+EJ,AI)+(EJ<2?M(AI):0)));H AI=1;while(AI<R&&AI/(L(3+EJ,AI)+(EJ<2?M(AI):0))+1e-15<target_ratio*Jw)++AI;C AI;}Aa HP(H n)B{C CK()&&!Ak&&AJ>0&&n<Lr 2,BZ(0,E::EG(2000,Lr 1,Ax-BT)),5))&&Ai();}Aa KT(H n)B{C CK()&&(I>=64.||!Ak)&&AJ>0&&n<Lr 2,BZ(0,E::EG(2000,Lr 1,Ax-BT)),5))&&Ai();}H Ct(H Cn,H Cf)B{g(Cf<=0)C 0;g(FG())C 1;g(Bd()&&Cf<=BP)C CE[Cn][Cf];g(Cf<=BP)C CT[Cn][Cf];H BE=1;A CB=E::BO<A>::DC();CA(H AU=1;AU<=Cf;++AU){B A Kh=L(3+Cn,AU)/AU;B A eps=E::Co(CB)?1e-12*Lr 1.,E::HR(CB)):0;g(!E::Co(CB)||Kh<CB-eps||(E::HR(Kh-CB)<=eps&&AU>BE)){BE=AU;CB=Kh;}}C BE;}A Lb(H id)B{B Bc&V=D[id];g(V.Q<=0)C 0;B A age=Lr 0.,K-V.N)/Lr 1e-9,AD);B A HS=Lr 0.,age-1.);C 0.10+E::EG(3.,age)+.5*E::EG(4.,HS*HS);}E::k<H>Jn(H Cn,H Cf)B{E::k<H>BN;BN.GL(40);B DQ add=[&](H AU){g(AU>=1&&AU<=Cf)BN.Ah(AU);};B H LL=Ct(Cn,Cf);add(1);add(LL);add(Cf);add(LL/2);add((LL+1)/2);add(LL*2);CA(H divisor:{2,3,4,6,8}){B H part=(Cf+divisor-1)/divisor;add(part);add(Cf-part);add(Ct(Cn,part));}CA(H AU=2;AU<Cf;AU*=2)add(AU);E::Gf(BN.Bs(),BN.FX());BN.erase(E::unique(BN.Bs(),BN.FX()),BN.FX());C BN;}A Ip(H Cn,H AU,B E::k<H>&Ci)B{g(Cn==2||AU<=0)C 0;g(Cn==1){B H Cf=Bo[G<E::Eg>(F::Bv)];C M(AU)+L(5,E::EG(BP,Cf+AU));}E::k<H>DW(O);B H FM=E::EG(AU,G<H>(Ci.AU()));CA(H i=0;i<FM;++i)++DW[D[Ci[i]].AM];g(FM<AU){CA(H i=FM;i<AU;++i)++DW[i%O];}A Kn=0;A Ie=0;CA(H P=0;P<O;++P){g(DW[P]==0)CI;Kn+=M(DW[P]);B H merged=E::EG(BP,CP[P]+DW[P]);Ie=Lr Ie,L(4,merged)+M(DW[P]));}B H Cf=Bo[G<E::Eg>(F::Bv)];C Kn+Ie+L(5,E::EG(BP,Cf+AU));}H Fc(H Cn,B E::k<H>&Ci)B{B H Cf=G<H>(Ci.AU());g(T())C Ct(Cn,Cf);g(Cf<=1)C Cf;g(FG())C 1;g(Bd()&&Cf<=BP)C CE[Cn][Cf];g(Cn!=1||q<=1e-12||q>=0.95-1e-12||BA>W||Ft){C Ct(Cn,Cf);}E::k<A>LK(G<E::Eg>(Cf)+1);CA(H i=0;i<Cf;++i){LK[i+1]=LK[i]+Lb(Ci[i]);}B A total_weight=LK.back();B A EV=Lr 1.,I);B A wait_factor=Cy/EV;A Fj=q;g(Ak>=64){Fj*=Lr 0.05,1.-DY());}Fj+=2. *Cy;B E::k<H>BN=Jn(Cn,Cf);B H Dm=Ct(Cn,Cf);H Dq=Dm;A Dk=E::BO<A>::DC();A Hs=E::BO<A>::DC();CA(H AU:BN){B A HK=L(3+Cn,AU);B H BG=Cf-AU;B H Hv=BG>0?Ct(Cn,BG):0;B A future_unit=BG>0?L(3+Cn,Hv)/Hv:0;B A JS=future_unit*BG;B A LQ=Ip(Cn,AU,Ci);B A Kr=BG>0?Ip(Cn,Hv,{}):0;B A KQ=LK[AU];B A later_weight=total_weight-KQ;B A wait_area=KQ*(HK+LQ)+later_weight*(HK+.5*JS+Kr);B A Kj=HK+JS+Lr LQ,Kr);B A Cw=wait_factor*wait_area+Fj*Cf*Kj;g(AU==Dm)Hs=Cw;B A eps=E::Co(Dk)?1e-10*Lr 1.,E::HR(Dk)):0;g(!E::Co(Dk)||Cw<Dk-eps||(E::HR(Cw-Dk)<=eps&&AU==Dm)){Dk=Cw;Dq=AU;}}B A relative_gain=(Hs-Dk)/Lr 1e-12,E::HR(Hs));g(relative_gain<0.04-1e-12)Dq=Dm;g(Dq!=Dm&&(M(Dm)>0.60*L(4,Dm)||M(Dq)>0.60*L(4,Dq))){Dq=Dm;}C Dq;}A M(H len)B{C BA+8. *G<A>(CS)*len/(DG*1e6);}A LG()B{g(q<=1e-15)C 0.;g(Cy<=1e-15)C 0.95;B A tolerance=I/(I+16.);B A effective=q+Cy*tolerance;C E::Br((effective-0.82)/0.18,0.,1.)*(0.55+0.40*q);}Aa DM(H Cn,H KL,E::Jd<A,H>DB)B{g(KL<=0||DB.ER<=0||!E::Co(DB.Cb)||DB.Cb<=K+1e-9||KL+DB.ER>BP){C AQ;}A Gg=LG();g(Bw()&&Ax>0&&AJ==0)Gg=Lr Gg,.25);g(Gg<=1e-12)C AQ;B DQ[g1,g2]=HG();B A risk=E::hypot(Lr 0.,g1-1.),Lr 0.,g2-1.));g((I<=1e-15&&risk>1e-12)||(I>1e-15&&risk>=0.75*I)){C AQ;}B A separate=L(3+Cn,KL)+L(3+Cn,DB.ER);B A merged=L(3+Cn,KL+DB.ER);B A saved=separate-merged;C saved>Ls DB.Cb-K<=Gg*saved+1e-9;}Aa LX()B{C AE>1&&q>Ls q<.25-Ls Cy>=0.75-Ls I>=100.;}A FT(H id,H extra_pieces=1)B{B Bc&V=D[id];B A Kk=G<A>(AE-V.AK)/AE;C extra_pieces*W+Kk*At.Bj(1,V.J)+M(V.J)+L(2,V.J);}H FB(H id,H P)B{B Bc&DH=D[id];H Jc=AE-DH.AK;g(T()){Aa En=AP||Ac>AH*(1.+I)||(Cy>=.5-Ls I<=.25+1e-12),Ce=Cy>=.8-1e-12;H GS=0;CA(B Bc&CG:D)GS+=CG.AM==P&&CG.BQ!=F::Fh&&CG.BQ!=F::Km&&!IT(CG.BQ);A raw=At.Bj(1,DH.J),EY=raw*Jc/AE,path=W+EY+M(DH.J)+L(2,DH.J);Aa urgent=!En&&K+path>=DH.AN+(Ce?.8:1.)*AH;H JI=AP?4:En?(Cy>=.5?16:Cy>=.15?8:4):Ce?16:8,GH=Lr 1,E::EG(AA[P],2000));A IU=Ce&&!En?Lr{2*W,1.1*L(4,GH),.2*AD}):Lr{3*W,1.25*L(4,GH),.3*AD});Aa should_split=(!AP&&En)||!AP||q>=.88||(raw>=24*W&&(JI-1)*W<=.25*EY);g(GS&&!urgent&&should_split&&EY>1.35*IU){A LZ=raw/AE;H Go=(AE+JI-1)/JI,quantum_layers=Lr 1,G<H>(E::floor(IU/LZ)));C E::EG(AE,DH.AK+Lr Go,quantum_layers));}C AE;}B Bc&V=D[id];B H BG=AE-V.AK;g(AB())C II(id,P);g(GZ&&BL()){g(BG<=1||V.Dz>=CX-1)C AE;B Aa Hd=Af[P]>0;H IP=0;CA(B Bc&other:D){IP+=other.BQ==F::Ay&&other.AM==P;}g(!Hd&&IP<=1){C AE;}B A JF=At.Bj(1,V.J);B A Er=JF*BG/AE;g(Er<=4*W+1e-12)C AE;B A IC=.025+.155*E::Br(Cy+.20,0.,1.);B A JQ=W/Lr.01,IC);B H Gl=E::Br(Lr 1,E::EG(Af[P],AV)),1,64);A Cz=Lr JQ,(1.05+.45*q)*L(4,Gl));g(Hd){Cz=Lr Cz,(.16+.34*q)*Lr AD,1e-9));}Cz=E::EG(Cz,Lr JQ,.08*Lr AH,1e-9)));B A FW=JF/AE;B H Go=(BG+CX-1)/CX;B A modeled_take=E::floor(Lr FW,Cz-W)/Lr 1e-15,FW)+1e-12);H FM=Lr Go,G<H>(E::EG<A>(BG,modeled_take)));FM=E::Br(FM,1,BG);g(FM>=BG)C AE;B H pieces=(BG+FM-1)/FM;g(G<A>(pieces-1)*W>IC*Er+1e-12){C AE;}C V.AK+FM;}g(BG<=1||V.Dz>=3||!LX())C AE;B DQ DB=Aq(0,P);B Aa decode_sensitive=AO[P]>0||E::Co(DB.Cb);g(!decode_sensitive)C AE;B A JF=At.Bj(1,V.J);B A FW=JF/AE;B A Er=FW*BG;B H Gl=Lr 1,E::EG({BP,Lr 1,Af[P]),Lr 1,AV)}));B A pressure=Bq();A Cz=Lr{W+FW,0.85*L(4,Gl),AD*(0.14+1.05*(1.-pressure))});g(E::Co(DB.Cb)&&DB.Cb>K){Cz=E::EG(Cz,Lr W+FW,0.92*(DB.Cb-K)));}g(W>0.10*Er||W+Er<=1.35*Cz){C AE;}H FM=G<H>(E::floor((Cz-W)/Lr 1e-15,FW)+1e-10));FM=E::Br(FM,1,BG);C V.AK+FM;}Aa Fw(H P,H AX,H right)B{B DQ DB=Aq(0,P);g(!E::Co(DB.Cb)||DB.Cb<=K+1e-9||AO[P]<=0)C AQ;B Bc&r=D[AX];B A raw=At.Bj(1,r.J)*G<A>(right-r.AK)/AE;B A block=W+raw;B A delay=DB.Cb-K;g(delay>=0.82*block||Bq()<0.20-1e-12){C AQ;}B A slack=r.AN+AH-(K+FT(AX,2));C slack>0.06*AH;}A Jz(B E::k<H>&Ci,A Ix)B{g(Ci.Dg())C 0;A oldest=0;CA(H id:Ci)oldest=Lr oldest,K-D[id].AY);C 0.08*E::EG(4.,oldest/Lr 1e-9,Ix));}Aa Bw()B{B A ratio=Y/Lr 1e-15,AC);C q>=0.20-Ls q<=0.40+Ls Cy>q&&I>=24.&&I<=64.&&ratio>=8.;}H Ar()B{C q>.09&&q<.2?2:q>.7&&q<.95?1+(q<.86):q>0&&q<.1;}A Cs(H id,A BG,A DN)B{Aa He=(Ar()||q==Cy&&Y<=.01&&Ak==0)&&(DN<.05||Ar()>1&&DN>.1);B A Ix=Lr 1e-9,AH);g(Bw()&&!He){A offset=1.-0.05*Cy;g(DN>0.30){offset=0.75-0.15*Cy;}Bi g(DN>0.10){offset=1.-0.10*Cy;}B A GA=(K-D[id].AY)/Ix;C-(K-D[id].AN)/Ix+.25*BG/Ix+offset-0.08*E::EG(4.,GA);}B A Ho=DY();B A JE=q*(1.-Ho);B Aa moderate_risk=q>=0.85-Ls q<0.95-Ls I>=100.&&I<1200.;B Aa Je=q>=0.95-Ls q<1.-Ls I<=16.;B Aa Kf=q>=0.72-Ls q<0.88-Ls I>=512.&&I<=8192.&&JE>=0.15;A Lg=.5+.5*Cy;g(JE>=0.12&&(moderate_risk||Je))Lg=(CK()||An())&&Je&&I>1e-15?.125:-1.;g(Kf&&DN<0.05)Lg=0;A Gs=He?1:(Y<=1+1e-12)*E::Br(1-E::HR(q-Cy)/.04,0.,1.)*E::Br((I-256)/256.,0.,1.);A KO=-DN;g(Gs>0){A Id=1-.05*Cy;g(DN>.3)Id=.75-.15*Cy;Bi g(DN>.1)Id=1-.1*Cy;A GA=(K-D[id].AY)/Ix;Lg+=Gs*(-1-Lg);KO+=Gs*(Id+DN-.08*E::EG(4.,GA));}C-(K-D[id].AN)/Ix+Lg*BG/Ix+KO;}H KD()B{g(Y<=1+Ls E::HR(q-Cy)<.04&&I>=512)C 1000000;g(q>=0.95-1e-12)C 32;C 2+G<H>(E::IK(14. *q));}H GF()B{g(Y<=1+Ls E::HR(q-Cy)<.04&&I>=512)C 1000000;g(q>=0.95-1e-12)C 32;C 4+G<H>(E::IK(28. *q));}static Ge FF(H&skip,Aa Cf,Aa JD){g(!Cf||JD)skip=0;Bi skip=E::EG(skip+1,1000000);}Aa IT(F st)B{C st==F::CN||st==F::CW||st==F::Be||st==F::Ay||st==F::Cr||st==F::CH||st==F::CD||st==F::Do;}A DY()B{B A span=Y-AC;B A elapsed=K-Dc;g(span<=1e-12||Dc<0||elapsed<=1e-12)C 0;B A throughput=G<A>(Ak)/elapsed;C E::Br((throughput-AC)/span,0.,1.);}E::Jd<A,A>HG()B{A FV=0,Ek=0;B A tdr_scale=Lr 1e-9,AH);B A tpot_scale=Lr 1e-9,AD);CA(B Bc&r:D){g(IT(r.BQ)){FV=Lr FV,(K-r.AN)/tdr_scale);}g(r.CR&&r.Q>0){Ek=Lr Ek,(K-r.N)/tpot_scale);}}C{FV,Ek};}Ge KA(){g(AP||q<=1e-12||Ax<Lr 16,4*O)||Ac>AH*(1.+I))C;A Jq=Gw+AJ*K-EA;g(Ea!=Ax){Ea=Ax;E::k<A>GB;GB.GL(AJ);CA(B Bc&r:D){A work=0;g(r.BQ==F::CN){work=2. *W+At.Bj(0,r.J)+At.Bj(2,r.J);}Bi g(r.BQ==F::CW||r.BQ==F::Be||r.BQ==F::Ay||r.BQ==F::Cr||r.BQ==F::CH||r.BQ==F::CD){work=W+At.Bj(2,r.J);}Bi g(r.BQ!=F::Do){CI;}GB.Ah(work);}E::Gf(GB.Bs(),GB.FX());B H jobs=G<H>(GB.AU());CA(H i=0;i<jobs;++i)Jq+=(jobs-i)*GB[i];}g(Jq/Ax<=1.5*AH*(1.+I))C;AP=CQ;AT=e=Ao=2000;}A edge_window_gain()B{B H Gi=E::EG(Ao,e+Bf);g(Gi<=e)C 0;B A Hy=(L(3,e)+L(5,e))/e;B A next_unit=(L(3,Gi)+L(5,Gi))/Gi;g(!E::Co(Hy)||Hy<=1e-12)C 0;C Lr 0.,1.-next_unit/Hy);}Ge KU(){Dw=0;HM=0;Fb=0;HL=0;Eb=0;}Ge KH(){B A Js=Lr 1,Dw);B A HT=HM/Js;B A utilization=Fb>0?Eb/Fb:0;B A starvation=HL/Js;B A Lj=(1.-utilization)+0.75*starvation;B DQ[FV,Ek]=HG();B A BM=DY();B A JE=q*(1.-BM);B A risk=E::hypot(Lr 0.,FV-1.),Lr 0.,Ek-1.));Aa Ic=AQ;g(Es){B Aa no_supply_gain=Lj>Jf-0.08&&HT>IS-0.20&&BM<FU+0.01;B Aa waiting_worse=FV>In+0.15||Ek>IR+0.15;g(no_supply_gain||waiting_worse){e=Lr AT,e-Bf);Hq=3;Ic=CQ;}Es=AQ;}g(e>AT&&risk>=0.9*I){e=AT;Hq=3;Es=AQ;Ic=CQ;}g(Hq>0)--Hq;g(HT<=0.20)++HU;Bi HU=0;g(HU>=2&&e>AT){e=Lr AT,e-Bf);HU=0;Es=AQ;}B A Ln=q<0.7-1e-12?0.40:.25;B Aa score_gate=Ak>=128&&BM<0.95-Ls JE>=0.025-1e-12;B Aa risk_gate=risk<0.9*I;B Aa supply_gate=Lj>=Ln-1e-12||edge_window_gain()>=0.04-1e-12;B Aa good=!Ic&&Hq==0&&IW>0&&e<Ao&&AR>0&&HT>=0.75-Ls score_gate&&risk_gate&&supply_gate;g(good)++Gj;Bi Gj=0;g(Gj>=2){Jf=Lj;IS=HT;In=FV;IR=Ek;FU=BM;e=E::EG(Ao,e+Bf);Es=CQ;Gj=0;}++IW;KU();}Ge Ez(H Ct,Aa starved){g(Ao<=AT)C;++Dw;g(AR>0&&AG>=e)++HM;g(Ct>0){B H Ef=E::Br(AV,1,64);++Fb;Eb+=E::EG(1.,G<A>(Ct)/Ef);}g(starved)++HL;B H horizon=Lr 32,8*O);g(Dw>=horizon)KH();}Aa Ag()B{C!An()&&Ca&&Ax-BT>=HD();}Aa DP()B{C O>=2&&q>=.20-Ls q<=.30+Ls Cy>q+Ls I<=24.+Ls AJ==0&&As();}H HD()B{C BK&&As()?DJ:Ba;}H Is()B{C BK&&As()?DJ:Ds;}A Bq()B{g(Cy<=1e-15)C 0.;g(q<=1e-15)C 1.;g(I<=1e-15)C 0.98;B A EV=E::Br(I,.25,64.);C E::Br(Cy/(Cy+q*EV),0.,1.);}H Ky(H id)B{E::k<H>Fe(O);E::k<A>Fv(O);CA(H P=0;P<O;++P)Fv[P]=Lr 0.,Z[P]-Ad[P]);CA(B Bc&DE:D){g(DE.AM>=0&&DE.AM<O&&(DE.BQ==F::CW||DE.BQ==F::Be||DE.BQ==F::Ay||DE.BQ==F::Cr)){++Fe[DE.AM];}}CA(H P=0;P<O;++P)Fe[P]-=Ad[P]>0;B Bc&V=D[id];B A Fi=K+L(0,V.J);B A Cc=Lr AL[0],Fi)+M(V.J);B A Ej=Lr 1e-12,q+Cy);B A throughput_price=q/Ej;B A waiting_price=Cy/Ej/E::Br(I,.25,64.);H BF=0;A EX=E::BO<A>::DC();CA(H P=0;P<O;++P){A Di=Lr Cc,Aw[P])+Fv[P]+W*Fe[P]+L(1,V.J);Di=Lr AL[1],Di)+M(V.J);Di=Lr Di,Fi)+L(2,V.J);B A Gc=(Di-V.AN)/Lr 1e-9,AH);B A HS=Lr 0.,Gc-1.);B A Jj=L(1,V.J);B A Ld=Jj*AO[P]/Lr 1e-9,AD);B A Kj=(Di-K)/Lr 1e-9,AH);B A Gy=waiting_price*(Gc+HS*HS+Ld)+throughput_price*(Kj+Jj*AA[P]/Lr 1e-9,AH))+1e-12*P;g(Gy<EX-1e-12){EX=Gy;BF=P;}}C BF;}H choose_cloud(H id){g(T()){H BF=0;CA(H c=1;c<O;++c)g(AA[c]<AA[BF]||(AA[c]==AA[BF]&&(Z[c]<Z[BF]-1e-12||(E::HR(Z[c]-Z[BF])<=Ls G<H>(Bu[c])<G<H>(Bu[BF])))))BF=c;(Ge)id;C BF;}g(Al()){H BF=0;CA(H c=1;c<O;++c)g(AA[c]<AA[BF]||(AA[c]==AA[BF]&&(Z[c]<Z[BF]-1e-12||(E::HR(Z[c]-Z[BF])<=Ls G<H>(Bu[c])<G<H>(Bu[BF])))))BF=c;C BF;}H Dn=An()?Ff():O;g(Ag()&&!An()){B H potential=E::EG(2000,Lr Ds,Ax-BT));B H Ef=Lr 1,HN(potential));Dn=E::Br(De[Ef],1,O);}g(An())C Gx(Dn);g(HE&&BL()){B H HF=Lr 1,E::EG(AV,64));B A Kh=L(4,HF)/HF;B A observed_prior=(16+Bb-Cj)/(4.+Bb);B A prior=4.+GI*.001*(observed_prior-4.);H BE=-1;A low=1e100;CA(H d=0;d<Dn;++d){B H c=(DU+d)%Dn;B A Cw=Z[c]+prior*AA[c]*Kh;g(Cw<low-1e-12){low=Cw;BE=c;}}DU=(BE+1)%Dn;C BE;}B Aa HC=Bq()<=0.12+1e-12;H BE=-1;CA(H d=0;d<Dn;++d){B H c=(DU+d)%Dn;g(BE<0){BE=c;CI;}g(HC&&q>=0.8-1e-12){B A Cw=Z[c]+.5*AA[c]*L(4,1);B A old=Z[BE]+.5*AA[BE]*L(4,1);g(Cw<old-1e-12)BE=c;}Bi g(HC){g(AA[c]<AA[BE]||(AA[c]==AA[BE]&&(Z[c]<Z[BE]-1e-12||(E::HR(Z[c]-Z[BE])<=Ls(Af[c]<Af[BE]||(Af[c]==Af[BE]&&G<H>(Bu[c])<G<H>(Bu[BE]))))))){BE=c;}}Bi{B A Cw=AA[c]+(0.4+0.8*q)*Af[c]+(Bu[c]?0.35:0.);B A Dk=AA[BE]+(0.4+0.8*q)*Af[BE]+(Bu[BE]?0.35:0.);g(Cw<Dk-1e-12)BE=c;}}(Ge)id;DU=(BE+1)%Dn;C BE;}Aa Ai()B{g(GC)C CQ;CA(Aa busy:Bu){g(busy)C CQ;}CA(B Bc&r:D){g(r.BQ==F::Be||r.BQ==F::CH||r.BQ==F::Ec||r.BQ==F::DK){C CQ;}}C AQ;}static Ge Ex(E::DR&FL,B E::k<H>&Ci){FL+=" "+E::DD(Ci.AU());CA(H id:Ci)FL+=" "+E::DD(id);}H HN(H Jx)B{g(Jx<=1)C Lr 0,Jx);B H capped=E::EG(2000,Jx);H Ef=BV[capped];B A sum=q+Cy;B A share=sum>1e-15?q/sum:0.;g(share>=0.74-Ls share<=0.85+Ls I>=64.){Ef=Lr 1,(Ef*KZ+Fu-1)/Fu);}C E::EG(capped,Ef);}Aa EO()B{C Ca&&Ar()==2&&q>Cy;}Ge FE(E::k<H>&Jr,B E::k<H>&Dv,H requested_count)B{B H FM=E::Br(requested_count,0,G<H>(Dv.AU()));g(!EO()){Jr.insert(Jr.FX(),Dv.Bs(),Dv.Bs()+FM);C;}E::k<H>Cq(O,0);CA(H id:Jr){B H P=D[id].AM;g(P>=0&&P<O)++Cq[P];}E::k<H>Bg;Bg.GL(FM);CA(H Cg=0;Cg<G<H>(Dv.AU());++Cg)Bg.Ah(Cg);E::k<H>Bm;Bm.GL(FM);E::k<JC char>JD(Bg.AU(),0);CA(H JO=0;JO<G<H>(Bg.AU());++JO){H DZ=-1;CA(H Gh=0;Gh<G<H>(Bg.AU());++Gh){g(JD[Gh])CI;B H Cg=Bg[Gh];B H P=D[Dv[Cg]].AM;g(P<0||P>=O)CI;g(DZ<0){DZ=Gh;CI;}B H LU=Bg[DZ];B H BF=D[Dv[LU]].AM;g(Cq[P]<Cq[BF]||(Cq[P]==Cq[BF]&&Cg<LU)){DZ=Gh;}}g(DZ<0)Fx;JD[DZ]=1;B H Cg=Bg[DZ];++Cq[D[Dv[Cg]].AM];Bm.Ah(Cg);g(G<H>(Bm.AU())==FM)Fx;}g(G<H>(Bm.AU())<FM){CA(H Cg:Bg){g(E::find(Bm.Bs(),Bm.FX(),Cg)==Bm.FX())Bm.Ah(Cg);g(G<H>(Bm.AU())==FM)Fx;}}E::k<H>JJ=Bm;E::Gf(JJ.Bs(),JJ.FX());CA(H Cg:JJ)Jr.Ah(Dv[Cg]);}E::k<H>Ij(){E::k<H>LJ=AZ(Db,F::Ap);E::Gf(LJ.Bs(),LJ.FX(),[&](H x,H y){g(D[x].N!=D[y].N){C D[x].N<D[y].N;}g(D[x].Q!=D[y].Q)C D[x].Q<D[y].Q;C x<y;});E::k<H>Dv=AZ(CZ,F::Ap);E::Gf(Dv.Bs(),Dv.FX(),[&](H x,H y){g(D[x].AY!=D[y].AY){C D[x].AY<D[y].AY;}C x<y;});E::k<H>Ci;g(AG>0){g(G<H>(LJ.AU())<AG&&Ai()){C Ci;}Ci=E::Iv(LJ);B H Kz=E::EG(2000,AG+AR);B H Ef=Lr AG,HN(Kz));B H slots=E::EG({Lr 0,Ef-AG),Lr 0,e-AG),G<H>(Dv.AU())});FE(Ci,Dv,slots);}Bi{B H LN=Lr 1,Ax-BT);B H Ef=Lr 1,HN(E::EG(2000,LN)));B H pending_prefill=Lr 0,LN-AR);B H warm_target=E::EG(Ef,Lr 2,Is()));g(Ak==0&&pending_prefill>0&&G<H>(Dv.AU())<warm_target&&Ai()){C Ci;}B H FM=E::EG({Ef,e,G<H>(Dv.AU())});FE(Ci,Dv,FM);}g(Ci.Dg()&&!Ai()){B H id=JT(CZ,F::Ap);g(id>=0)Ci.Ah(id);}C Ci;}E::k<H>Ka(){g(Ag()&&!Bx()){DQ Jr=Ij();g((HP(G<H>(Jr.AU()))&&!(AB()&&!Ai()))||Dx())C{};C Jr;}g(AR>0&&AG+Lr 1,O)>=e){Ft=CQ;}E::k<H>LJ=AZ(Db,F::Ap);E::Gf(LJ.Bs(),LJ.FX(),[&](H x,H y){g(D[x].N!=D[y].N){C D[x].N<D[y].N;}g(D[x].Q!=D[y].Q)C D[x].Q<D[y].Q;C x<y;});E::k<H>Ci=E::Iv(LJ);B H Iq=Lr 0,e-AG);B Aa Hl=IH()||Bx()||(Bd()&&Ax>Bb);g(!Hl){E::k<H>Dv=AZ(CZ,F::Ap);E::Gf(Dv.Bs(),Dv.FX(),[&](H x,H y){g(D[x].AY!=D[y].AY){C D[x].AY<D[y].AY;}C x<y;});B H extra_fresh=Lr 0,G<H>(Dv.AU())-Iq);B H slots=Iq+G<H>(E::IK(HQ()*extra_fresh));B H FM=E::EG(slots,G<H>(Dv.AU()));Ci.insert(Ci.FX(),Dv.Bs(),Dv.Bs()+FM);}g(AB())E::Gf(Ci.Bs(),Ci.FX(),[&](H x,H y){C D[x].N!=D[y].N?D[x].N<D[y].N:x<y;});g((KT(G<H>(Ci.AU()))&&!(AB()&&!Ai()))||Dx())C{};g(Ci.Dg()&&!Ai()){B H id=JT(CZ,F::Ap);g(id>=0)Ci.Ah(id);}g(!Ci.Dg())Ci.Fn(AB()?GX(0,Ci):Fc(0,Ci));C Ci;}Av KF(){Av X;X.Bh=BX::Gk;X.Dl=0;X.U=AZ(EN,F::Bv);g(X.U.Dg())C X;g(T()){E::stable_partition(X.U.Bs(),X.U.FX(),[&](H id){C D[id].Q>0;});H o=G<H>(E::count_if(X.U.Bs(),X.U.FX(),[&](H id){C D[id].Q>0;})),h=0;CA(B Bc&r:D)h+=r.Q>0&&r.BQ!=F::Km;H w=AP?2000:CU;X.U.Fn(o+E::EG(G<H>(X.U.AU())-o,Lr 0,w-h)));g(X.U.Dg())C Av{};X.U.Fn(Ct(2,G<H>(X.U.AU())));}Bi{g(Ey(2,G<H>(X.U.AU()),AG+AR,EQ())||An()&&IE(X.U))C Av{};g(!Ag()&&q>=0.70-Ls q<0.80-Ls I<64.&&G<H>(X.U.AU())<E::EG(4,AG)&&Ai())C Av{};Aa Ei=Ag();g(Ei||DP()){H Bp=-1;CA(H id:X.U){B H w=D[id].CJ;g(w>=0&&(Bp<0||w<Bp))Bp=w;}g(Bp>=0){Ei=CQ;E::k<H>same;same.GL(X.U.AU());CA(H id:X.U)g(D[id].CJ==Bp)same.Ah(id);g(Bp<G<H>(Bl.AU())&&Bl[Bp].Fo<Bl[Bp].Fk&&Ai()){C X;}X.U=E::Iv(same);}}g(AB())E::Gf(X.U.Bs(),X.U.FX(),[&](H x,H y){C D[x].N!=D[y].N?D[x].N<D[y].N:x<y;});Bi E::Gf(X.U.Bs(),X.U.FX(),[&](H x,H y){B Aa Dr=D[x].Q>0;B Aa Eq=D[y].Q>0;g(Dr!=Eq)C Dr>Eq;g(Dr&&D[x].N!=D[y].N){C D[x].N<D[y].N;}g(D[x].Q!=D[y].Q)C D[x].Q<D[y].Q;C x<y;});g(!Ei){X.U.Fn(AB()?GX(2,X.U):Fc(2,X.U));g(!AB()&&DM(2,G<H>(X.U.AU()),Aq(1))){C Av{};}}}B A KK=K+L(5,G<H>(X.U.AU()));Aa ES=AQ;A Gd=1e100;CA(H id:X.U){g(D[id].Q==0)CI;ES=CQ;Gd=E::EG(Gd,(D[id].N+AD-KK)/AD);}g(ES){Gd-=0.35+0.15*q;}Bi{Gd=0.30+0.20*Cy-0.30*q;}Gd-=Jz(X.U,AD);Gd-=0.025*E::log2(G<A>(X.U.AU())+1.);X.BI=Gd;X.AF=CQ;C X;}Av Jl(){Av X;X.Bh=BX::GO;X.Dl=1;B E::k<H>Ci=AZ(Fr,F::CD);g(Ci.Dg())C X;A CC=1e100,Bt=1e100,Dj=1e100;Aa ED=T()&&(AP||Ac>AH*(1.+I)||(Cy>=.5-Ls I<=.25+1e-12));CA(H id:Ci){A Ch=L(2,D[id].J),Eu=Cs(id,Ch,.35+.15*Cy),IJ=T()?(ED?D[id].AY:Ch):AB()?D[id].AN:Ar()>1?Eu:(BY()?D[id].AY:((FH()||(BL()&&AJ>=Lr 8,2*O)))?Ch:Eu)),Fy=T()&&!ED?D[id].AN:0.;g(IJ<CC-1e-12||(E::HR(IJ-CC)<=Ls(Fy<Bt-1e-12||(E::HR(Fy-Bt)<=Ls(X.AW<0||id<X.AW))))){CC=IJ;Bt=Fy;Dj=Eu;X.AW=id;}}X.BI=Dj;X.AF=CQ;C X;}Av KW(){Av X;X.Bh=BX::JK;X.Dl=2;X.U=Ka();g(X.U.Dg())C X;E::k<H>DW(O);CA(H id:X.U)++DW[D[id].AM];B H AI=G<H>(X.U.AU());B A e_cost=L(3,AI);B A post_cost=L(5,AI);Aa ES=AQ;A Gd=1e100;CA(H id:X.U){g(D[id].Q==0)CI;ES=CQ;B H GE=DW[D[id].AM];B A BG=e_cost+M(GE)+L(4,GE)+M(GE)+post_cost;B A Eu=(D[id].N+AD-(K+BG))/AD;Gd=E::EG(Gd,Eu);}g(ES){Gd-=0.15+0.10*q;}Bi{Gd=0.55+.25*Cy-0.45*q;}Gd-=Jz(X.U,ES?AD:AH);Gd-=0.02*E::log2(G<A>(AI)+1.);X.BI=Gd;X.AF=CQ;C X;}Av KE(){Av X;X.Bh=BX::Ig;X.Dl=3;B E::k<H>Ci=AZ(GG,F::CN);g(Ci.Dg())C X;A CC=1e100;A Dj=1e100;B Aa legacy_pressure=FH()||(BL()&&AJ>=Lr 8,2*O))||(!BK&&!As()&&FD());g(T()){A Bt=1e100;Aa f=AP||Ac>AH*(1.+I)||(Cy>=.5-Ls I<=.25+1e-12);CA(H id:Ci){B Bc&r=D[id];A m=L(0,r.J)+2*M(r.J)+L(1,r.J)+L(2,r.J),x=f?r.AY:m,t=f?0.:r.AN;g(x<CC-1e-12||(E::HR(x-CC)<=Ls(t<Bt-1e-12||(E::HR(t-Bt)<=Ls(X.AW<0||id<X.AW)))))CC=x,Bt=t,Dj=Cs(id,m,0),X.AW=id;}X.BI=Dj;X.AF=CQ;C X;}g(An()){B H c=Gx(Ff());DQ v=Ci;E::Gf(v.Bs(),v.FX(),[&](H x,H y){C D[x].AN!=D[y].AN?D[x].AN<D[y].AN:x<y;});H z=0;CA(H id:v){g(z>=12)Fx;B DQ&r=D[id];B A BG=L(0,r.J)+2. *M(r.J)+L(1,r.J)+L(2,r.J);B A Gd=Cs(id,BG,0);A IJ=(Hj(id,c)-r.AN)/Lr 1e-9,AH)+.02*z+1e-9*c;g(IJ<CC-1e-12){CC=IJ;Dj=Gd;X.AW=id;X.AM=c;}++z;}X.BI=Dj;X.AF=X.AW>=0;C X;}CA(H id:Ci){B Bc&r=D[id];B A BG=L(0,r.J)+2. *M(r.J)+L(1,r.J)+L(2,r.J);B A Gd=Cs(id,BG,0);B A restraint=legacy_pressure?1.:EP(id);B A srpt_rank=BG/Lr 1e-9,AH);B A IJ=q<.5-1e-12?srpt_rank:Al()?BG:((Ar()||q==Cy&&Y<=.01&&Ak==0)?Gd:Ar()?Gd:(BY()?r.AY:(1.-restraint)*Gd+restraint*srpt_rank));g(IJ<CC-1e-12||(E::HR(IJ-CC)<=Ls(X.AW<0||id<X.AW))){CC=IJ;Dj=Gd;X.AW=id;}}X.BI=Dj;X.AF=CQ;C X;}Aa Ha(E::DR&FL){E::Hn<Av,4>S={KF(),Jl(),KW(),KE()};Av*BE=FN;B Aa GD=(S[0].AF&&CL(S[0].U))||(S[2].AF&&CL(S[2].U));B Aa hold_prefill_up=S[3].AF&&KC(S[3].AW);Av*Ev=FN;g(BY()||Al()){B A Iz=L(3,1)+M(1)+L(4,1)+M(1)+L(5,1);B A limit=Lr AD,Iz)*(Al()?1.:1.+2. *q);CA(H Cg:{0,2}){g(!S[Cg].AF)CI;B A Kk=Al()?.3:(Cg==0?1.:.75);A prefill_delay=Al()?(S[1].AF?L(2,D[S[1].AW].J):S[3].AF?L(0,D[S[3].AW].J):0.):0.;g(E::JB(S[Cg].U.Bs(),S[Cg].U.FX(),[&](H id){C D[id].Q>0&&K+prefill_delay-D[id].N>=Kk*limit;})){Ev=&S[Cg];Fx;}}}B DQ JL=HG();B A KN=E::hypot(Lr 0.,JL.Cb-1.),Lr 0.,JL.ER-1.));A Kx=A(Lr 0,Ax-BT))/Lr 1,O);A LH=E::Br((Kx-8)/8,0.,1.)*E::Br((8192-I)/7168,0.,1.)*E::Br((.98-q)/.03,0.,1.);H Kd=G<H>(E::IK((8-5*LH)*O));B H Ga=E::EG({FC,Kd,AR+Lr 0,AJ)});B Aa KG=Ga>=2&&Ak==0&&!GD&&S[2].AF&&AJ>0&&AR<Ga&&(S[1].AF||S[3].AF||Ai())&&((I<=1e-15&&KN<=1e-12)||(I>1e-15&&KN<.25*I));B Aa Hh=(q>=.20&&q<.30)||q>=.88;B Aa IF=Hh&&!EO()&&Ak==0&&S[2].AF&&AJ>0;g(IF){BE=&S[2];}Bi g(An()){CA(DQ&x:S)g(x.AF&&(BE==FN||ID(x)>ID(*BE)+1e-12))BE=&x;}Bi g(T()){DQ Fs=[&](H j){E::k<H>u=j?AZ(Db,F::Ap):AZ(EN,F::Bv);u.erase(E::remove_if(u.Bs(),u.FX(),[&](H id){C D[id].Q==0;}),u.FX());g(!u.Dg())u.Fn(Ct(j?0:2,G<H>(u.AU())));S[j?2:0].U=E::Iv(u);S[j?2:0].AF=!S[j?2:0].U.Dg();};DQ Cv=[&](H j,A f,A x,A m){H b=-1;A r=E::BO<A>::DC();F s=j?F::Ap:F::Bv;CA(H id=0;id<G<H>(D.AU());++id)g(D[id].BQ==s&&D[id].Q>0&&(D[id].AY<r-1e-12||(E::HR(D[id].AY-r)<=Ls(b<0||id<b))))r=D[id].AY,b=id;A c=Lr AD,L(3,1)+M(1)+L(4,1)+M(1)+L(5,1));C b>=0&&K+x-D[b].N>=f*m*c;};Aa It=Ac>AH*(1.+I),Da=Cy>=.5-Ls I<=.25+1e-12,Ce=Cy>=.8-1e-12;A x=S[1].AF?L(2,D[S[1].AW].J):S[3].AF?L(0,D[S[3].AW].J):0.;g(It||AP){A m=1+2*q;g(!AP&&Cv(0,1.,0,m))BE=&S[0];Bi g(S[1].AF)BE=&S[1];Bi g(!AP&&Cv(1,.75,0,m))BE=&S[2];Bi g(S[3].AF)BE=&S[3];Bi g(S[0].AF)BE=&S[0];Bi g(S[2].AF)BE=&S[2];}Bi{A m=Ce?1.:1+.75*q,a=Da?.45:Ce?.3:.75,b=Da?.45:Ce?.3:.55;g(Cv(0,a,x,m)){g(!Da)Fs(0);BE=&S[0];}Bi g(Cv(1,b,x,m)){g(!Da)Fs(1);BE=&S[2];}Bi g(S[1].AF)BE=&S[1];Bi g(S[3].AF)BE=&S[3];Bi g(S[0].AF)BE=&S[0];Bi g(S[2].AF)BE=&S[2];}}Bi g(KG){g(S[1].AF||S[3].AF){BE=S[1].AF?&S[1]:&S[3];}Bi g(Ai()){CO=0;CY=0;C AQ;}}Bi g(Bx()&&!GD&&(S[1].AF||S[3].AF)){BE=S[1].AF?&S[1]:&S[3];}Bi g(Ev!=FN){BE=Ev;}Bi g(Al()&&(S[1].AF||S[3].AF)){BE=S[1].AF?&S[1]:&S[3];}Bi g(BY()&&(S[1].AF||S[3].AF)){BE=S[1].AF?&S[1]:&S[3];}Bi g(Bd()&&!GD&&(S[1].AF||S[3].AF)){BE=S[1].AF?&S[1]:&S[3];}Bi g(Ar()>1&&(S[1].AF||S[3].AF)){BE=S[1].AF?&S[1]:&S[3];}Bi g(!Cy){CA(H Cg:{3,0,1,2}){g(!S[Cg].AF)CI;BE=&S[Cg];Fx;}}Bi g(hold_prefill_up){Av*GJ=FN;CA(H Cg:{0,1}){g(!S[Cg].AF)CI;g(GJ==FN||S[Cg].BI<GJ->BI-1e-12||(E::HR(S[Cg].BI-GJ->BI)<=Ls S[Cg].Dl<GJ->Dl)){GJ=&S[Cg];}}g(GJ!=FN){B A service=GJ->Bh==BX::Gk?L(5,G<H>(GJ->U.AU())):L(2,D[GJ->AW].J);B A Lh=L(0,D[S[3].AW].J);g(K+service+Lh<=AL[0]+1e-12*Lr 1.,E::HR(AL[0]))){BE=GJ;}Bi{BE=&S[3];}}Bi{CO=0;CY=0;C AQ;}}Bi g(Ag()&&S[0].AF){BE=&S[0];}Bi g(Ag()&&S[2].AF&&E::JB(S[2].U.Bs(),S[2].U.FX(),[&](H id){C D[id].CR;})){BE=&S[2];}Bi g(Jm()&&!S[1].AF&&!S[3].AF){CA(H d=0;d<2;++d){B H cls=(FA+d)%2;B H Cg=cls==0?0:2;g(!S[Cg].AF)CI;BE=&S[Cg];FA=(cls+1)%2;Fx;}}Bi g(!AB()&&!Bw()&&S[1].AF&&CO>=KD()){BE=&S[1];}Bi g(!AB()&&!Bw()&&S[3].AF&&CY>=GF()){BE=&S[3];}Bi{CA(Av&X:S){g(!X.AF)CI;g(BE==FN||X.BI<BE->BI-1e-12||(E::HR(X.BI-BE->BI)<=Ls X.Dl<BE->Dl)){BE=&X;}}}g(BE==FN){CO=0;CY=0;C AQ;}FF(CO,S[1].AF,BE->Bh==BX::GO);FF(CY,S[3].AF,BE->Bh==BX::Ig);g(BE->Bh==BX::Gk){FL="E D POST -1";Ex(FL,BE->U);CA(H id:BE->U){B H w=D[id].CJ;g(w>=0&&w<G<H>(Bl.AU())){--Bl[w].Fk;--Bl[w].Fo;}D[id].CJ=-1;BJ(id,F::HB);}}Bi g(BE->Bh==BX::GO){Bc&r=D[BE->AW];FL="E P POST "+E::DD(r.AM)+" "+E::DD(BE->AW);BJ(BE->AW,F::Do);}Bi g(BE->Bh==BX::JK){FL="E D PRE -1";Ex(FL,BE->U);Aa sync=Ag()||An();g(!sync&&DP()&&BE->U.AU()==2&&D[BE->U[0]].AM!=D[BE->U[1]].AM){B A LV=2. *L(5,1)-L(5,2);sync=M(1)<=LV+1e-12;}B H Bp=sync?G<H>(Bl.AU()):-1;g(sync)Bl.Ah({G<H>(BE->U.AU()),0});CA(H id:BE->U){Bc&r=D[id];r.CJ=Bp;g(!r.CR){g(r.Q==0&&AR>0)--AR;r.CR=CQ;++AG;++Af[r.AM];}BJ(id,F::Hc);}}Bi{Bc&r=D[BE->AW];BE->AM=BE->AM>=0?BE->AM:Ky(BE->AW);r.AM=BE->AM;r.Ed=CQ;++AA[r.AM];Z[r.AM]+=At.Bj(1,r.J);FL="E P PRE "+E::DD(r.AM)+" "+E::DD(BE->AW);BJ(BE->AW,F::CW);}GC=CQ;C CQ;}H Iu(H P,A&Gd){B E::k<H>Ci=AZ(By[P],F::Ay);H KM=-1;Gd=1e100;A CC=1e100,Bt=1e100;Aa ED=T()&&(AP||Ac>AH*(1.+I)||(Cy>=.5-Ls I<=.25+1e-12));CA(H id:Ci){B Bc&V=D[id];A LW=G<A>(AE-V.AK)/AE,Ch=W+LW*At.Bj(1,V.J)+M(V.J)+L(2,V.J),Eu=Cs(id,Ch,.15+.10*Cy),IJ=T()?(ED?V.AY:Ch):AB()?V.AN:Ar()>1?Eu:(BY()?V.AY:(FH()?Ch:(BL()&&Ak==0?Ch/Lr 1e-9,AH):Eu))),Fy=T()&&!ED?V.AN:0.;g(IJ<CC-1e-12||(E::HR(IJ-CC)<=Ls(Fy<Bt-1e-12||(E::HR(Fy-Bt)<=Ls(KM<0||id<KM)))))KM=id,CC=IJ,Bt=Fy,Gd=Eu;}C KM;}E::k<H>KJ(H P,A&Gd){E::k<H>Ci=AZ(EC[P],F::Dd);g(Ci.Dg()){Gd=1e100;C Ci;}g(AB())E::Gf(Ci.Bs(),Ci.FX(),[&](H x,H y){C D[x].N!=D[y].N?D[x].N<D[y].N:x<y;});Bi E::Gf(Ci.Bs(),Ci.FX(),[&](H x,H y){B Aa Dr=D[x].Q>0;B Aa Eq=D[y].Q>0;g(Dr!=Eq)C Dr>Eq;g(Dr&&D[x].N!=D[y].N){C D[x].N<D[y].N;}g(D[x].Q!=D[y].Q)C D[x].Q<D[y].Q;C x<y;});g(Ey(1,G<H>(Ci.AU()),KI(P),Aq(0,P))){Gd=1e100;C{};}g(CK()){g(I<64.)Ci.Fn(BZ(1,G<H>(Ci.AU()),5));g(DM(1,G<H>(Ci.AU()),Aq(0,P))){Gd=1e100;C{};}}Bi{Aa Ei=Ag();g(Ei||DP()){H Bp=-1;CA(H id:Ci){B H w=D[id].CJ;g(w>=0&&(Bp<0||w<Bp))Bp=w;}g(Bp>=0){Ei=CQ;Ci.erase(E::remove_if(Ci.Bs(),Ci.FX(),[&](H id){C D[id].CJ!=Bp;}),Ci.FX());}}g(!Ei){Ci.Fn(AB()?GX(1,Ci):Fc(1,Ci));g(!AB()&&DM(1,G<H>(Ci.AU()),Aq(0,P))){Gd=1e100;C{};}}}B H AI=G<H>(Ci.AU());B A KK=K+L(4,AI)+M(AI)+L(5,AI);Aa ES=AQ;Gd=1e100;CA(H id:Ci){g(D[id].Q==0)CI;ES=CQ;Gd=E::EG(Gd,(D[id].N+AD-KK)/AD);}g(ES){Gd-=0.30+0.15*q;}Bi{Gd=.25+0.15*Cy-.25*q;}Gd-=Jz(Ci,ES?AD:AH);Gd-=0.025*E::log2(G<A>(AI)+1.);C Ci;}Aa Ia(H P,H AX,B E::k<H>&BC){Bc&Aj=D[AX];H Ab=G<H>(BC.AU());A Gz=Lr 0.,AL[1]-K),EF=W+At.Bj(1,Aj.J)*G<A>(AE-Aj.AK)/AE+Gz+M(Aj.J)+L(2,Aj.J),EW=Lr L(4,Ab),M(Ab))+Gz+M(Ab)+L(5,Ab),DA=q*DL/Lr 1e-15,Y-AC),ET=Cy/Lr 1e-15,I),DF=0.;CA(H id:BC)DF=Lr DF,K-D[id].N);A Hr=DA+ET*Lr 0.,(K-Aj.AN)/AH-1.),Ii=DA+ET*Lr 0.,DF/AD-1.);H FJ=G<H>(AZ(By[P],F::Ay).AU()),Lq=AG+AR;C Hr*FJ*Lq*EW>Ii*CP[P]*Ab*AJ*EF;}Aa Jb(H P,H AX,B E::k<H>&BC){Bc&Aj=D[AX];A Gz=AL[1]-K;A EF=W+At.Bj(1,Aj.J)*(AE-Aj.AK)/AE+Gz+M(Aj.J)+L(2,Aj.J);H Ab=BC.AU(),Kt=BV.back();A EW=L(4,Ab)+Gz+M(Ab)+L(5,Ab);A DA=q*Kt/Bn[Kt]/(Y-AC);A ET=Cy/I;A DF=0.;CA(H id:BC){DF=Lr DF,K-D[id].N);}A Hr=DA+ET*Lr 0.,(K-Aj.AN)/AH-1.);A Ii=DA+ET*Lr 0.,DF/AD-1.);H FJ=AZ(By[P],F::Ay).AU();C Hr*FJ*AG*EW>Ii*CP[P]*Ab*AJ*EF;}Aa HA(H P,E::DR&FL,Aa&Cl){A LR=0,Kq=0;E::k<H>BC=KJ(P,LR);B H AX=Iu(P,Kq);g(BC.Dg()&&AX<0){g(Af[P]>0&&K!=DO[P]){DO[P]=K;Ez(0,CQ);}C AQ;}Aa Dh=!BC.Dg()&&(AX<0||(T()?!Ia(P,AX,BC):Bw()?!Jb(P,AX,BC):LR<=Kq+1e-12));g(Ar()>1&&q<Cy&&AX>=0){Dh=AQ;}Bi g(!T()&&AB()&&AX>=0&&!BC.Dg()){Dh=JV(AX,BC);}Bi{g(!T()&&Bx()&&AX>=0&&!CL(BC)){Dh=AQ;}Bi g(!T()&&BY()&&AX>=0&&!BC.Dg()){B H limit=Cy>=.5-1e-12?2:4;Dh=EI[P]<limit;}Bi g(!T()&&Bd()&&AX>=0&&!CL(BC)){Dh=AQ;}g(!T()&&!BY()&&!Bw()&&AX>=0&&EM[P]>=GF()){Dh=AQ;}}g(JZ()&&AX>=0&&!BC.Dg()){B H Lm=FB(AX,P);B A EF=W+At.Bj(1,D[AX].J)*G<A>(Lm-D[AX].AK)/AE;B A EW=L(4,G<H>(BC.AU()));Dh=DV[P]+EW<=EF+1e-12;}FF(EM[P],AX>=0,!Dh);g(Dh){Aw[P]=K+L(4,G<H>(BC.AU()));Ad[P]=0;DV[P]+=L(4,G<H>(BC.AU()));++EI[P];Ez(G<H>(BC.AU()),AQ);Cl=CQ;FL="C"+E::DD(P)+" D PROC "+E::DD(P);Ex(FL,BC);CA(H id:BC)BJ(id,F::FK);}Bi{EI[P]=0;DV[P]=0;B H Eh=FB(AX,P);g(!T()&&Fw(P,AX,Eh))C AQ;Ad[P]=At.Bj(1,D[AX].J)*G<A>(Eh-D[AX].AK)/AE;Aw[P]=K+W+Ad[P];Cl=AQ;FL="C"+E::DD(P)+" P PROC "+E::DD(D[AX].AK)+" "+E::DD(Eh)+" "+E::DD(P)+" "+E::DD(AX);D[AX].FS=Eh;BJ(AX,F::Cr);}Bu[P]=CQ;C CQ;}E::k<E::DR>Lp(){KA();g(As())BK=CQ;E::k<E::DR>Le;Le.GL(G<E::Eg>(O)+1);g(T()){g(!GC){E::DR t;g(Ha(t))Le.Ah(E::Iv(t));}CA(H c=0;c<O;++c){g(Bu[c])CI;E::DR t;Aa d=AQ;g(HA(c,t,d))Le.Ah(E::Iv(t));}C Le;}E::k<E::DR>p_ans;p_ans.GL(O);CA(H c=0;c<O;++c){g(Bu[c])CI;E::DR FL;Aa Cl=AQ;g(!HA(c,FL,Cl))CI;g(Cl)Le.Ah(E::Iv(FL));Bi p_ans.Ah(E::Iv(FL));}CA(E::DR&FL:p_ans)Le.Ah(E::Iv(FL));g(AB())E::Gf(Le.Bs(),Le.FX(),[](B E::DR&a,B E::DR&b){C E::stoi(a.c_str()+1)<E::stoi(b.c_str()+1);});g(!GC){E::DR FL;g(Ha(FL)){g(AB())Le.insert(Le.Bs(),E::Iv(FL));Bi Le.Ah(E::Iv(FL));}}C Le;}};}H main(){E::ios::sync_with_stdio(AQ);E::cin.tie(FN);H O=0,CS=0,AE=0;A W=0,BA=0,DG=0;g(!(E::cin>>O>>W>>BA>>DG>>CS>>AE)){C 0;}A AH=0,AD=0,Y=0,AC=0;A I=0,q=0,Cy=0;g(!(E::cin>>AH>>AD>>Y>>AC>>I>>q>>Cy)){C 0;}H n=0;g(!(E::cin>>n)||n<0)C 0;HO At;CA(H i=0;i<n;++i){H AU=0;E::Hn<A,6>Cw{};g(!(E::cin>>AU))C 0;CA(A&x:Cw){g(!(E::cin>>x))C 0;}At.add_sample(AU,Cw);}At.sort_samples();Scheduler sol(O,AE,CS,W,BA,DG,AH,AD,Y,AC,I,q,Cy,E::Iv(At));E::DR LM;while(E::cin>>LM){g(LM=="END")C 0;char*FX=FN;B A time=E::strtod(LM.c_str(),&FX);g(FX==LM.c_str()||*FX!='\0'||!E::Co(time)||time<0)C 0;sol.K=time;H events=-1;g(!(E::cin>>events)||events<0)C 0;E::k<H>fin;CA(H i=0;i<events;++i){g(!sol.read_event(E::cin,fin))C 0;}g(!sol.finish_frame(fin))C 0;B E::k<E::DR>Le=sol.Lp();E::cout<<Le.AU()<<"\n";CA(B E::DR&FL:Le)E::cout<<FL<<"\n";E::cout<<E::flush;g(!E::cout)C 0;}C 0;}