#define imax INT_MAX
#define imin INT_MIN
#define sz(x) (int((x).size()))
#define ll long long
#define pb push_back
#define mk make_pair
#define pii pair<int, int>
#define a first
#define b second
#define vi vector<int>
#define over(x) (x).begin(), (x).end()
#define umap unordered_map
#define uset unordered_set
#define MOD 1000000007
#include <algorithm>
#include <bits/stdc++.h>
#include <iostream>
#include <queue>
#include <stdio.h>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <vector>
using namespace std;
struct node {
int val;
node *next;
node *prev;
};
struct VectorHasher {
int operator()(const vector<int> &V) const {
int hash = V.size();
for (auto &i : V) {
hash ^= i + 0x9e3779b9 + (hash << 6) + (hash >> 2);
}
return hash;
}
};
struct PairHasher {
size_t operator()(const pii &x) const { return x.first ^ x.second; }
};
void solve(int s) { cout << s << endl; }
int main(void) {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
/* number of test cases, remember to check bounds*/
unsigned int t;
unsigned int n;
#ifndef ONLINE_JUDGE
freopen("../input.txt", "r", stdin);
freopen("../output.txt", "w", stdout);
#endif
int p;
cin >> t >> p;
vector<string> nums;
for (int i = 0; i < t; ++i) { // loops for each case
string s;
cin >> s;
nums.pb(s);
}
ll ans = p/2;
ll cur = 1;
for(int i=sz(nums)-2;i>=0;--i){
if(nums[i] == "half"){
ans += p*cur;
cur *= 2;
}else{
ans += p*cur+p/2;
cur = cur*2+1;
}
}
cout << ans << endl;
return 0;
}
1281. Subtract the Product and Sum of Digits of an Integer | 1342. Number of Steps to Reduce a Number to Zero |
1528. Shuffle String | 1365. How Many Numbers Are Smaller Than the Current Number |
771. Jewels and Stones | 1512. Number of Good Pairs |
672. Richest Customer Wealth | 1470. Shuffle the Array |
1431. Kids With the Greatest Number of Candies | 1480. Running Sum of 1d Array |
682. Baseball Game | 496. Next Greater Element I |
232. Implement Queue using Stacks | 844. Backspace String Compare |
20. Valid Parentheses | 746. Min Cost Climbing Stairs |
392. Is Subsequence | 70. Climbing Stairs |
53. Maximum Subarray | 1527A. And Then There Were K |
1689. Partitioning Into Minimum Number Of Deci-Binary Numbers | 318. Maximum Product of Word Lengths |
448. Find All Numbers Disappeared in an Array | 1155. Number of Dice Rolls With Target Sum |
415. Add Strings | 22. Generate Parentheses |
13. Roman to Integer | 2. Add Two Numbers |
515. Find Largest Value in Each Tree Row | 345. Reverse Vowels of a String |