+ محدودیت زمان: ۱ ثانیه
+ محدودیت حافظه: ۲۵۶ مگابایت
----------
حسنی برای این که در تابستان وقتش را تلف نکند به کسب و کار روی آورده و به تازگی بانکی به نام **کناب** تاسیس کرده است.
از آنجایی که دوست دارد شما نیز عضو کناب باشید به شما یک پروژه داده و خواسته تا همراهبانکی بنویسید که درخواستهای زیر را اجرا کند.
```
1 ip:username
```
این درخواست یعنی کاربری با نام کاربری *username* و آیپی *ip* به همراهبانک وصل شد و در صورتی که *username* معتبر نباشد باید عبارت `invalid username` را چاپ کنید.
**به یک نام کاربری معتبر میگوییم اگر فقط از حروف کوچک و بزرگ انگلیسی و اعداد تشکیل شده باشد.**
برای مثال `1aAB2` معتبر است ولی `ab*2` معتبر نیست.
```
2 ip:username:money
```
این درخواست یعنی کاربری با آیپی *ip* به حسابی با نام کاربری *username* به اندازه *money* پول ریخته است. در واقع باید از حساب *ip* به اندازه *money* کم کنید و به حساب *username* اضافه کنید.
```
3 ip
```
با داده شدن این درخواست مقدار پول داخل حساب فرد با آیپی *ip* را نمایش دهید.
**(دقت کنید که پول هر فرد میتواند منفی هم بشود و هرکس در ابتدا ۰ واحد پول دارد)**
# ورودی
در اولین خط ورودی عدد $q$ که بیانگر تعداد درخواستها است به شما داده میشود و در $q$ خط بعد، در هر خط یک درخواست داده میشود.
در هر درخواست ابتدا *type* داده میشود که برابر یکی از اعداد ۱ یا ۲ یا ۳ است و اگر $type$ برابر با ۱ باشد در ادامه دو رشته *ip* و *username* به شما داده میشود که توسط کاراکتر `:` از هم جدا شدهاند. اگر
$type$
مساوی ۲ باشد سه رشته *ip* و *username* و
*money*
داده میشود که با `:` از هم جدا شدهاند و اگر هم $type$ مساوی ۳ باشد رشته *ip* داده میشود.
$$0 \le q,money \le 100\ 000$$
طول *username* و *ip* حداکثر ۱۵ است.
تضمین میشود که:
+ یک کاربر دوبار به همراه بانک وصل نمیشود و آیپی و نام کاربری هیچ دو فردی یکسان نیست.
+ در صورتی که نام کاربری معتبر نباشد تنها ممکن است کاراکترهای `_` یا `*` یا `#` یا `$` در آن به کار رفته باشد.
+ همهی ورودیهای نوع ۲ و ۳ معتبر هستند؛ یعنی کاربری با آیپی یا نام کاربری مشخص شده، وجود دارد.
+ همه *ip*ها به صورت ۴ عدد بین ۰ تا ۲۵۵ هستند که با نقطه از هم جدا شدهاند.
+ حداکثر پولی که یک نفر میتواند داشته باشد $10^9$ است.
# خروجی
برای هر درخواست نوع ۱ در صورتی که *username* معتبر نیست باید عبارت `invalid username` را چاپ کنید و برای هر درخواست نوع ۳ باید مقدار پول حساب فرد خواسته شده را چاپ کنید. (پاسخ هر درخواست را در یک خط جدید چاپ کنید.)
# مثال
## ورودی نمونه
```
9
1 46.51.16.72:SmsS
1 192.168.10.13:#hacker$user
1 131.41.61.213:faeila
2 46.51.16.72:faeila:1000
3 46.51.16.72
3 131.41.61.213
2 131.41.61.213:SmsS:500
3 46.51.16.72
3 131.41.61.213
```
## خروجی نمونه
```
invalid username
-1000
1000
-500
500
```
توضیحات:
- نام کاربری `#hacker$user` معتبر نیست برای همین باید `invalid username` خروجی بدهید.
- از حساب `SmsS` هزار واحد پول کم میشود و به حساب `faeila` اضافه میشود و حالا `SmsS` منفی هزار و `faeila` هزار واحد پول دارد.
- از حساب `faeila` پانصد واحد کم میشود و حالا پانصد واحد پول دارد و `SmsS` منفی پانصد.
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.